]> git.baikalelectronics.ru Git - kernel.git/commit
signals: avoid random wakeups in sigsuspend()
authorSasha Levin <sasha.levin@oracle.com>
Fri, 5 Feb 2016 23:36:05 +0000 (15:36 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 6 Feb 2016 02:10:40 +0000 (18:10 -0800)
commitd5089fcd0a70bf0e11cd8d3a9bf1b9cbdc3da665
tree56e8dd97ecfe996c6337c17e8255fa4bf716bcf2
parent3f0c3737a321fb01512a97e21b90907203494a0e
signals: avoid random wakeups in sigsuspend()

A random wakeup can get us out of sigsuspend() without TIF_SIGPENDING
being set.

Avoid that by making sure we were signaled, like sys_pause() does.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/signal.c