From: Al Viro <viro@ZenIV.linux.org.uk>
To: Jan Kara <jack@suse.cz>
Cc: George Spelvin <linux@horizon.com>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: 3.11.4: kernel BUG at fs/buffer.c:1268
Date: Wed, 9 Oct 2013 18:23:36 +0100 [thread overview]
Message-ID: <20131009172336.GH13318@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20131009151853.GA25608@quack.suse.cz>
On Wed, Oct 09, 2013 at 05:18:53PM +0200, Jan Kara wrote:
> This is really weird. We are delivering a signal to a task. While task is
ITYM "a fatal signal"
> returning from kernel space we are running queued task works and one of
get_signal_to_deliver() notices that the signal has to be dealt with
via default reaction, which happens to be "die, you bastard". So it
calls do_group_exit(). Which means that we'll never be returning to userland,
so the time to run pending __fput() is now.
> that works is dropping last file reference. Ext4 then does some data
> flushing and at that point we find out irqs are disabled. It isn't really
> clear to me where in that call chain got irqs disabled. I went through it
> and didn't find any such place... If this is reproducible, there would be
> ways to debug this (like irq tracing). Otherwise I'm not sure... I'm CCing
> Al since he was digging in this code recently. Maybe he will have some
> idea.
Note that do_group_exit() is preceded by
spin_unlock_irq(&sighand->siglock);
so no matter what happened in callers, irq is enabled. I'd suggest sticking
such BUG_ON() into __fput() and trying to reproduce that crap...
next prev parent reply other threads:[~2013-10-09 17:23 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-09 11:55 3.11.4: kernel BUG at fs/buffer.c:1268 George Spelvin
2013-10-09 15:18 ` Jan Kara
2013-10-09 17:23 ` Al Viro [this message]
2013-10-17 21:11 ` George Spelvin
2013-10-17 21:31 ` Jan Kara
2013-10-31 9:58 ` George Spelvin
2013-10-31 14:25 ` Jan Kara
2013-10-31 16:30 ` George Spelvin
2013-10-31 20:37 ` Jan Kara
2013-10-31 20:43 ` Jan Kara
2013-11-01 0:50 ` George Spelvin
2013-11-28 5:09 ` George Spelvin
2013-11-28 15:34 ` Jan Kara
2013-12-10 9:35 ` George Spelvin
2013-12-10 15:27 ` Jan Kara
2013-12-10 16:21 ` Jan Kara
2013-12-11 0:57 ` George Spelvin
2013-10-17 22:14 ` Al Viro
2013-10-31 18:33 ` Andreas Dilger
2013-10-31 18:33 ` Andreas Dilger
2013-10-31 19:43 ` George Spelvin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131009172336.GH13318@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@horizon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.