X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=fs%2Fdquot.c;h=9af789567e513b4575c9066711b8b6f595c949c7;hb=35a84c2f56e0f77ea2c5a4327b17104705f4c8c7;hp=0122a279106a9dd4a0475557901471be5c428546;hpb=d7fa2589bbe7ab53fd5eb20e8c7e388d5aff6f16;p=powerpc.git diff --git a/fs/dquot.c b/fs/dquot.c index 0122a27910..9af789567e 100644 --- a/fs/dquot.c +++ b/fs/dquot.c @@ -834,6 +834,9 @@ static void print_warning(struct dquot *dquot, const char warntype) 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 *dquot, const char warntype) break; } tty_write_message(current->signal->tty, msg); +out_lock: + mutex_unlock(&tty_mutex); } static inline void flush_warnings(struct dquot **dquots, char *warntype)