Re: [PATCH -next v3 1/2] posix-timers: Check timespec64 before call clock_set()

From: Jinjie Ruan
Date: Sat Sep 14 2024 - 05:01:02 EST




On 2024/9/13 18:46, Thomas Gleixner wrote:
> On Thu, Sep 12 2024 at 20:24, Jinjie Ruan wrote:
>> On 2024/9/12 20:04, Thomas Gleixner wrote:
>>> How does this code validate timespecs for clock_settime(clockid) where
>>> clockid != CLOCK_REALTIME?
>>
>> According to the man manual of clock_settime(), the other clockids are
>> not settable.
>>
>> And in Linux kernel code, except for CLOCK_REALTIME which is defined in
>> posix_clocks array, the clock_set() hooks are not defined and will
>> return -EINVAL in SYSCALL_DEFINE2(clock_settime), so the check is not
>> necessary.
>
> You clearly understand the code you are modifying:
>
> const struct k_clock clock_posix_dynamic = {
> .clock_getres = pc_clock_getres,
> .clock_set = pc_clock_settime,
>
> which is what PTP clocks use and that's what this is about, no?

Yes, it uses the dynamic one rather than the static ones.

>
> Thanks,
>
> tglx