Re: [PATCH v3 7/7] timex: change syscalls to use struct __kernel_timex

From: Arnd Bergmann
Date: Thu Jul 12 2018 - 10:40:48 EST


On Thu, Jul 12, 2018 at 10:29 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> On Fri, Jul 06, 2018 at 10:42:47PM -0700, Deepa Dinamani wrote:
>
>> -#ifdef CONFIG_COMPAT
>> -
>> COMPAT_SYSCALL_DEFINE2(clock_adjtime, clockid_t, which_clock,
>> struct compat_timex __user *, utp)
>> {
>> @@ -1187,10 +1183,6 @@ COMPAT_SYSCALL_DEFINE2(clock_adjtime, clockid_t, which_clock,
>> return err;
>> }
>>
>> -#endif
>
> And this unconditionally defines clock_adjtime, but doesn't actually
> seem to add callers, which looks rather odd. Same for other bits
> in the patch.

It really just moves compat_sys_clock_adjtime() into the same
#ifdef CONFIG_COMPAT_32BIT_TIME that hides the surrounding
functions.

Currently CONFIG_COMPAT_32BIT_TIME is used only as a subset
of CONFIG_COMPAT, and the plan was to have 32-bit architectures
enable it later so they could get access to all the functions
implementing 32-bit time with a patch similar to what I'm testing
with, see https://pastebin.com/F3QZdyin for the current draft that
I use for testing.

We already spent several review rounds coming just discussing the
naming of the macros etc before we decided on the
CONFIG_64BIT_TIME and CONFIG_COMPAT_32BIT_TIME
symbol, but if you have a better suggestion (as part of moving
away from the compat_ naming), we can change all that again.

Arnd