On Wednesday 13 May 2015 10:43:25 Baolin Wang wrote:
-int do_sys_settimeofday(const struct timespec *tv, const struct
timezone *tz)
+int do_sys_settimeofday64(const struct timespec64 *tv, const struct
timezone *tz)
{ static int firsttime = 1; int error = 0;
struct timespec ts;
if (tv && !timespec_valid(tv))
if (tv && !timespec64_valid(tv)) return -EINVAL;
error = security_settime(tv, tz);
ts = timespec64_to_timespec(*tv);
error = security_settime(&ts, tz);
How is that 2038 safe? Not at all.
I told you before that we fix the underlying functions before we add such bogosities.
Thanks for your comments, and i'll continue to repair my patch. But could you explain what the defects in do_sys_settimeofday64 function? Thanks.
What Thomas meant here is that you should first fix security_settime to take a timespec64 argument. I guess you could introduce a security_settime64() function first, using another inline wrapper to provide the existing security_settime() API. security_settime() does not actually use the time argument, so this is a fairly easy thing to do.
Arnd