Messages in this thread | | | Date | Fri, 27 Dec 2013 14:06:34 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH 1/8] Use __kernel_long_t in struct timex |
| |
On 12/27/2013 09:25 AM, H.J. Lu wrote: > X32 adjtimex system call is the same as x86-64 adjtimex system call, > which uses 64-bit integer for long in struct timex. But x32 long is > 32 bit. This patch replaces long in struct timex with __kernel_long_t > if __BITS_PER_LONG == 64. > > Signed-off-by: H.J. Lu <hjl.tools@gmail.com> > --- > include/uapi/linux/timex.h | 46 ++++++++++++++++++++++++++++++++++++++-------- > 1 file changed, 38 insertions(+), 8 deletions(-) > > diff --git a/include/uapi/linux/timex.h b/include/uapi/linux/timex.h > index a7ea81f..98314e9 100644 > --- a/include/uapi/linux/timex.h > +++ b/include/uapi/linux/timex.h > @@ -63,28 +63,58 @@ > */ > struct timex { > unsigned int modes; /* mode selector */ > +#if __BITS_PER_LONG == 64 > + __kernel_long_t offset; /* time offset (usec) */ > + __kernel_long_t freq; /* frequency offset (scaled ppm) */ > + __kernel_long_t maxerror;/* maximum error (usec) */ > + __kernel_long_t esterror;/* estimated error (usec) */ > +#else > long offset; /* time offset (usec) */ > long freq; /* frequency offset (scaled ppm) */ > long maxerror; /* maximum error (usec) */ > long esterror; /* estimated error (usec) */ > +#endif > int status; /* clock command/status */
I thought we already discussed this? No __BITS_PER_LONG conditionals, please, unless you can strongly motivate them... and if so, we probably should introduce another __kernel type instead.
-hpa
| |