Re: [PATCH -next v3 1/2] posix-timers: Check timespec64 before call clock_set()
From: Jinjie Ruan
Date: Wed Sep 11 2024 - 22:54:28 EST
On 2024/9/9 23:19, Richard Cochran wrote:
> On Mon, Sep 09, 2024 at 03:41:23PM +0800, Jinjie Ruan wrote:
>> diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
>> index 1cc830ef93a7..34deec619e17 100644
>> --- a/kernel/time/posix-timers.c
>> +++ b/kernel/time/posix-timers.c
>> @@ -1137,6 +1137,9 @@ SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
>> if (get_timespec64(&new_tp, tp))
>> return -EFAULT;
>>
>> + if (!timespec64_valid(&new_tp))
>> + return -ERANGE;
>
> Why not use timespec64_valid_settod()?
There was already checks in following code, so it is not necessary to
check NULL or timespec64_valid() in ptp core and its drivers, only the
second patch is needed.
169 int do_sys_settimeofday64(const struct timespec64 *tv, const struct
timezone *tz)
170 {
171 >-------static int firsttime = 1;
172 >-------int error = 0;
173
174 >-------if (tv && !timespec64_valid_settod(tv))
175 >------->-------return -EINVAL;
>
> Thanks,
> Richard