From: Jeff Mahoney I submitted a pair of patches under the same subject in March, but only one of them was applied (autofs4). Attached is the patch for autofs, to fix the same bug. The check for signals pending should only check for "shutdown" signals. Signed-off-by: Andrew Morton --- 25-akpm/fs/autofs/root.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff -puN fs/autofs/root.c~dnotify-autofs-may-create-signal-restart-syscall-loop fs/autofs/root.c --- 25/fs/autofs/root.c~dnotify-autofs-may-create-signal-restart-syscall-loop 2004-08-15 15:13:16.935380664 -0700 +++ 25-akpm/fs/autofs/root.c 2004-08-15 15:13:16.939380056 -0700 @@ -238,9 +238,15 @@ static struct dentry *autofs_root_lookup * a signal. If so we can force a restart.. */ if (dentry->d_flags & DCACHE_AUTOFS_PENDING) { + /* See if we were interrupted */ if (signal_pending(current)) { - unlock_kernel(); - return ERR_PTR(-ERESTARTNOINTR); + sigset_t *sigset = ¤t->pending.signal; + if (sigismember (sigset, SIGKILL) || + sigismember (sigset, SIGQUIT) || + sigismember (sigset, SIGINT)) { + unlock_kernel(); + return ERR_PTR(-ERESTARTNOINTR); + } } } unlock_kernel(); _