From: Jan Kara Dquot passes the tty to tty_write_message without locking Signed-off-by: Jan Kara Cc: Alan Cox Signed-off-by: Andrew Morton --- fs/dquot.c | 5 +++++ 1 files changed, 5 insertions(+) diff -puN fs/dquot.c~dquot-add-proper-locking-when-using-current-signal-tty fs/dquot.c --- a/fs/dquot.c~dquot-add-proper-locking-when-using-current-signal-tty +++ a/fs/dquot.c @@ -834,6 +834,9 @@ static void print_warning(struct dquot * if (!need_print_warning(dquot) || (flag && test_and_set_bit(flag, &dquot->dq_flags))) return; + mutex_lock(&tty_mutex); + if (!current->signal->tty) + goto out_lock; tty_write_message(current->signal->tty, dquot->dq_sb->s_id); if (warntype == ISOFTWARN || warntype == BSOFTWARN) tty_write_message(current->signal->tty, ": warning, "); @@ -861,6 +864,8 @@ static void print_warning(struct dquot * break; } tty_write_message(current->signal->tty, msg); +out_lock: + mutex_unlock(&tty_mutex); } static inline void flush_warnings(struct dquot **dquots, char *warntype) _