Re: [PATCH v3 5/7] time: Add struct __kernel_timex

From: Christoph Hellwig
Date: Thu Jul 12 2018 - 04:26:12 EST


I don't think this patches makes sense without the next one,
which actually uses the structure.

> +/* CONFIG_64BIT_TIME enables new 64 bit time_t syscalls in the compat path
> + * and 32-bit emulation.
> + */

Wrong comment style, also the 'compat path is the 32 (or 31 in case of
s390) bit emulation, so the comment seems rather confusing.

> +#ifndef CONFIG_64BIT_TIME
> +#define __kernel_timex timex
> +#endif

using #defines for structs has all kinds of ill effects. Why can't
we aways use __kernel_timex for the in-kernel usage?

> +#ifndef __kernel_timex
> +struct __kernel_timex {
> + unsigned int modes; /* mode selector */
> + int :32; /* pad */

Why do we need padding for a purely in-kernel structure?

Also the anonymous member syntax is rather odd and I don't remeber
us using it anywhere else. Why here?