hrtimer: fix *rmtp/restarts handling in compat_sys_nanosleep()
authorOleg Nesterov <oleg@tv-sign.ru>
Fri, 1 Feb 2008 17:35:31 +0000 (20:35 +0300)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 10 Feb 2008 09:48:03 +0000 (10:48 +0100)
commit416529374b4793ba2d2e97e736d108a2e0f3ef07
tree2523182bf1dd501aeef28a2c578d86b95cd90683
parent080344b98805553f9b01de0f59a41b1533036d8d
hrtimer: fix *rmtp/restarts handling in compat_sys_nanosleep()

Spotted by Pavel Emelyanov and Alexey Dobriyan.

compat_sys_nanosleep() implicitly uses hrtimer_nanosleep_restart(), this can't
work. Make a suitable compat_nanosleep_restart() helper.

Introduced by commit c70878b4e0b6cf8d2f1e46319e48e821ef4a8aba
hrtimer: hook compat_sys_nanosleep up to high res timer code

Also, set ->addr_limit = KERNEL_DS before doing hrtimer_nanosleep(), this func
was changed by the previous patch and now takes the "__user *" parameter.

Thanks to Ingo Molnar for fixing the bug in this patch.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Alexey Dobriyan <adobriyan@sw.ru>
Cc: Pavel Emelyanov <xemul@sw.ru>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Toyo Abe <toyoa@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/compat.c