diff options
Diffstat (limited to 'kernel/signal.c')
-rw-r--r-- | kernel/signal.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 9eac4db60eda..1921ffdc5e77 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -24,6 +24,9 @@ | |||
24 | #include <linux/signal.h> | 24 | #include <linux/signal.h> |
25 | #include <linux/capability.h> | 25 | #include <linux/capability.h> |
26 | #include <linux/freezer.h> | 26 | #include <linux/freezer.h> |
27 | #include <linux/pid_namespace.h> | ||
28 | #include <linux/nsproxy.h> | ||
29 | |||
27 | #include <asm/param.h> | 30 | #include <asm/param.h> |
28 | #include <asm/uaccess.h> | 31 | #include <asm/uaccess.h> |
29 | #include <asm/unistd.h> | 32 | #include <asm/unistd.h> |
@@ -1877,8 +1880,12 @@ relock: | |||
1877 | if (sig_kernel_ignore(signr)) /* Default is nothing. */ | 1880 | if (sig_kernel_ignore(signr)) /* Default is nothing. */ |
1878 | continue; | 1881 | continue; |
1879 | 1882 | ||
1880 | /* Init gets no signals it doesn't want. */ | 1883 | /* |
1881 | if (current == child_reaper) | 1884 | * Init of a pid space gets no signals it doesn't want from |
1885 | * within that pid space. It can of course get signals from | ||
1886 | * its parent pid space. | ||
1887 | */ | ||
1888 | if (current == child_reaper(current)) | ||
1882 | continue; | 1889 | continue; |
1883 | 1890 | ||
1884 | if (sig_kernel_stop(signr)) { | 1891 | if (sig_kernel_stop(signr)) { |