diff --git a/fs/fcntl.c b/fs/fcntl.c index 54cc85d3338e..b2d06c845a18 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -848,11 +848,11 @@ int send_sigurg(struct fown_struct *fown) send_sigurg_to_task(p, fown, type); rcu_read_unlock(); } else { - read_lock(&tasklist_lock); + read_lock_irq(&tasklist_lock); do_each_pid_task(pid, type, p) { send_sigurg_to_task(p, fown, type); } while_each_pid_task(pid, type, p); - read_unlock(&tasklist_lock); + read_unlock_irq(&tasklist_lock); } out_unlock_fown: read_unlock_irqrestore(&fown->lock, flags);