Messages in this thread | | | Date | Tue, 21 Apr 2015 16:14:26 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [Y2038] [PATCH 04/11] posix timers:Introduce the 64bit methods with timespec64 type for k_clock structure |
| |
On Tue, 21 Apr 2015, Arnd Bergmann wrote: > > COMPAT_SYSCALL_DEFINE2(timer_gettime, timer_t, timer_id, > > struct compat_itimerspec __user *, setting) > > As a side note, I want to kill off the get_fs()/set_fs() calls in > the process. These always make me dizzy when I try to work out whether > there is a potential security hole (there is not in this case), and > they can be slow on some architectures.
Yeah. I have to take a deep breath every time I look at those :)
> My preferred solution is one where we end up with the same syscalls > for both 32-bit and 64-bit, and basically use the > compat_sys_timer_gettime() implementation (or a simplified version) > for the existing , something like this:
No objections from my side. I was not looking into the syscall magic yet. I just wanted to avoid the code churn and have the guts of the syscalls factored out for simple reusage.
.... > Note the use of a separate __kernel_itimerspec64 for the user interface > here, which I think will be needed to hide the differences between the > normal itimerspec on 64-bit machines, and the new itimerspec on 32-bit > platforms that will be defined differently (using 'long long').
Confused.
timespec64 / itimerspec64 should be the same independent of 64bit and 32bit. So why do we need another variant ?
> I would also prefer not too many people to work on the syscalls, and > would rather have Baolin not touch any of the syscall prototypes for > the moment.
I did not ask him to change any of the syscall prototypes. I just wanted him to split out the guts of the syscall into a seperate static function to avoid all that code churn.
Thanks,
tglx
| |