On Mon, Jul 31, 2017 at 12:30 AM, Deepa Dinamani <deepa.ker...@gmail.com> wrote:
> time_t is not y2038 safe. Replace all uses of
> time_t by y2038 safe time64_t.
>
> Similarly, replace the calls to get_seconds() with
> y2038 safe ktime_get_real_seconds().
> Note that this preserves fast access on 64 bit systems,
> but 32 bit systems need sequence counters.
>
> The syscall interface themselves are not changed as part of
> the patch. They will be part of a different series.
>
> Signed-off-by: Deepa Dinamani <deepa.ker...@gmail.com>

Looks good. One detail:

> @@ -2310,7 +2310,7 @@ static int sysvipc_sem_proc_show(struct seq_file *s, 
> void *it)
>         sem_otime = get_semotime(sma);
>
>         seq_printf(s,
> -                  "%10d %10d  %4o %10u %5u %5u %5u %5u %10lu %10lu\n",
> +                  "%10d %10d  %4o %10u %5u %5u %5u %5u %10llu %10llu\n",
>                    sma->sem_perm.key,
>                    sma->sem_perm.id,
>                    sma->sem_perm.mode,
> @@ -2319,8 +2319,8 @@ static int sysvipc_sem_proc_show(struct seq_file *s, 
> void *it)
>                    from_kgid_munged(user_ns, sma->sem_perm.gid),
>                    from_kuid_munged(user_ns, sma->sem_perm.cuid),
>                    from_kgid_munged(user_ns, sma->sem_perm.cgid),
> -                  sem_otime,
> -                  sma->sem_ctime);
> +                  (unsigned long long) sem_otime,
> +                  (unsigned long long) sma->sem_ctime);
>

Unless I'm missing something here, you can drop the cast to
unsigned long long: time64_t is always 'long long' and won't
cause a warning here.

We only need a cast like this when printing the members of 'struct
 timespec64', since that can be either 'long long' or 'long', when
it is defined as an alias for timespec.

        Arnd
_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

Reply via email to