time/posix-timers: Move the compat copyouts to the nanosleep implementations
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 7 Jun 2017 08:42:31 +0000 (09:42 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 13 Jun 2017 22:00:42 +0000 (00:00 +0200)
commitedbeda46322fbcb15af2d2d0f2daffb0cd349a5a
treea4aa5436d4e5dcce6f4d041d13c521e1660331b7
parent99e6c0e6ec349575886ca7daffc9cb7ec583176f
time/posix-timers: Move the compat copyouts to the nanosleep implementations

Turn restart_block.nanosleep.{rmtp,compat_rmtp} into a tagged union (kind =
1 -> native, kind = 2 -> compat, kind = 0 -> nothing) and make the places
doing actual copyout handle compat as well as native (that will become a
helper in the next commit).  Result: compat wrappers, messing with
reassignments, etc. are gone.

[ tglx: Folded in a variant of Peter Zijlstras enum patch ]

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20170607084241.28657-6-viro@ZenIV.linux.org.uk
include/linux/posix-timers.h
include/linux/restart_block.h
kernel/compat.c
kernel/time/alarmtimer.c
kernel/time/hrtimer.c
kernel/time/posix-cpu-timers.c
kernel/time/posix-stubs.c
kernel/time/posix-timers.c