signal: simplify set_user_sigmask/restore_user_sigmask
task->saved_sigmask and ->restore_sigmask are only used in the ret-from- syscall paths. This means that set_user_sigmask() can save ->blocked in ->saved_sigmask and do set_restore_sigmask() to indicate that ->blocked was modified. This way the callers do not need 2 sigset_t's passed to set/restore and restore_user_sigmask() renamed to restore_saved_sigmask_unless() turns into the trivial helper which just calls restore_saved_sigmask(). Link: http://lkml.kernel.org/r/20190606113206.GA9464@redhat.com Signed-off-by:Oleg Nesterov <oleg@redhat.com> Cc: Deepa Dinamani <deepa.kernel@gmail.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Jens Axboe <axboe@kernel.dk> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Eric Wong <e@80x24.org> Cc: Jason Baron <jbaron@akamai.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@ZenIV.linux.org.uk> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: David Laight <David.Laight@aculab.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
Showing
- fs/aio.c 8 additions, 12 deletionsfs/aio.c
- fs/eventpoll.c 4 additions, 8 deletionsfs/eventpoll.c
- fs/io_uring.c 3 additions, 8 deletionsfs/io_uring.c
- fs/select.c 12 additions, 22 deletionsfs/select.c
- include/linux/compat.h 1 addition, 2 deletionsinclude/linux/compat.h
- include/linux/sched/signal.h 10 additions, 2 deletionsinclude/linux/sched/signal.h
- include/linux/signal.h 0 additions, 4 deletionsinclude/linux/signal.h
- kernel/signal.c 19 additions, 50 deletionskernel/signal.c
Loading
Please register or sign in to comment