ebiederm@xxxxxxxxxxxx (Eric W. Biederman) writes: > Linus, > > Please pull the exit-cleanups-for-v5.16 branch from the git tree: > > git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git exit-cleanups-for-v5.16 > > HEAD: f91140e4553408cacd326624cd50fc367725e04a Arnd Bergmann <arnd@xxxxxxxx> > > > While looking at some issues related to the exit path in the kernel I > found several instances where the code is not using the existing > abstractions properly. > > This set of changes introduces force_fatal_sig a way of sending > a signal and not allowing it to be caught, and corrects the > misuse of the existing abstractions that I found. > > A lot of the misuse of the existing abstractions are silly things such > as doing something after calling a no return function, rolling BUG by > hand, doing more work than necessary to terminate a kernel thread, or > calling do_exit(SIGKILL) instead of calling force_sig(SIGKILL). > > In the review a deficiency in force_fatal_sig and force_sig_seccomp > where ptrace or sigaction could prevent the delivery of the signal was > found. I have added a change that adds SA_IMMUTABLE to change that > makes it impossible to interrupt the delivery of those signals, and > allows backporting to fix force_sig_seccomp. > > Arnd found an issue where a function passed to kthread_run had the wrong > prototype, and after my cleanup was failing to build. I forgot to mention there is a minor conflict with the staging tree. One of the functions that I cleaned up was in a file that was completely removed from staging. The result is that when you encounter the conflict that file can simply be removed. Eric