sigio: cleanup, don't take tasklist twice
Subsystems (2)
PATCH 1/1 sigio: cleanup, don't take tasklist twice
The only user of send_sigio_to_task() already holds tasklist_lock, so it is better not to send the signal via send_group_sig_info() (which takes tasklist recursively) but use group_send_sig_info().
The same change in send_sigurg()->send_sigurg_to_task().
Signed-off-by Oleg Nesterov <[email protected]>
fs/fcntl.c renamed from fs/fcntl.c~ +3 -3
@@ -457,11 +457,11 @@ static void send_sigio_to_task(struct taelse si.si_band = band_table[reason -POLL_IN ]; si.si_fd = fd; -if (!send_group_sig_info (fown->signum, &si, p)) +if (!group_send_sig_info (fown->signum, &si, p))break ;/* fall-through: fall back on the old plain SIGIO signal */ case 0 : -send_group_sig_info (SIGIO ,SEND_SIG_PRIV , p); +group_send_sig_info (SIGIO ,SEND_SIG_PRIV , p); } }
@@ -495,7 +495,7 @@ static void send_sigurg_to_task(struct t struct fown_struct *fown) {if (sigio_perm (p, fown,SIGURG )) -send_group_sig_info (SIGURG ,SEND_SIG_PRIV , p); +group_send_sig_info (SIGURG ,SEND_SIG_PRIV , p); }int send_sigurg (struct fown_struct *fown)