From: Oleg Nesterov reclaimer() calls allow_signal() which plays with parent process's ->sighand. Signed-off-by: Oleg Nesterov Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton --- fs/lockd/clntlock.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/lockd/clntlock.c~nlmclnt_recovery-dont-use-clone_sighand fs/lockd/clntlock.c --- a/fs/lockd/clntlock.c~nlmclnt_recovery-dont-use-clone_sighand +++ a/fs/lockd/clntlock.c @@ -153,7 +153,7 @@ nlmclnt_recovery(struct nlm_host *host) if (!host->h_reclaiming++) { nlm_get_host(host); __module_get(THIS_MODULE); - if (kernel_thread(reclaimer, host, CLONE_KERNEL) < 0) + if (kernel_thread(reclaimer, host, CLONE_FS | CLONE_FILES) < 0) module_put(THIS_MODULE); } } _