diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-10-23 13:10:51 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-10-23 13:10:51 (GMT) |
commit | 9f30931a5482d66710210dafe9b4f2cc92320540 (patch) | |
tree | 1b3405d12a1b197d73473ea77c8fb712a632f55c /kernel | |
parent | a2c01ed5d46f0686c52272e09f7d2f5be9f573fd (diff) | |
parent | b67de018b37a97548645a879c627d4188518e907 (diff) | |
download | linux-9f30931a5482d66710210dafe9b4f2cc92320540.tar.xz |
Merge branch 'akpm' (patches from Andrew)
Merge fixes from Andrew Morton:
"9 fixes"
* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
ocfs2/dlm: unlock lockres spinlock before dlm_lockres_put
fault-inject: fix inverted interval/probability values in printk
lib/Kconfig.debug: disable -Wframe-larger-than warnings with KASAN=y
mm: make sendfile(2) killable
thp: use is_zero_pfn() only after pte_present() check
mailmap: update Javier Martinez Canillas' email
MAINTAINERS: add Sergey as zsmalloc reviewer
mm: cma: fix incorrect type conversion for size during dma allocation
kmod: don't run async usermode helper as a child of kworker thread
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/kmod.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/kmod.c b/kernel/kmod.c index da98d05..0277d12 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -327,9 +327,13 @@ static void call_usermodehelper_exec_work(struct work_struct *work) call_usermodehelper_exec_sync(sub_info); } else { pid_t pid; - + /* + * Use CLONE_PARENT to reparent it to kthreadd; we do not + * want to pollute current->children, and we need a parent + * that always ignores SIGCHLD to ensure auto-reaping. + */ pid = kernel_thread(call_usermodehelper_exec_async, sub_info, - SIGCHLD); + CLONE_PARENT | SIGCHLD); if (pid < 0) { sub_info->retval = pid; umh_complete(sub_info); |