Re: 2.6.39-rc5-git2 boot crashs

From: Linus Torvalds
Date: Fri Apr 29 2011 - 23:10:00 EST


On Fri, Apr 29, 2011 at 8:02 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
>
> Wait a bit; _can_ we get there with non-NULL ->s_master_inode et.al.?
> iput(NULL) is a noop...  I don't think so, since logfs_init_journal()
> is not called until after we initialize that list.
>
> Not that I'd object against taking that initialization earlier, of course,
> but there seems to be something else going on...  Which iput() it is?

Not something I can guess from the oops, sadly. Gcc has inlined
everything into logfs_mount, and the "0x44f/0x5cc" offset isn't very
helpful (with the same compiler version and config options it would be
possible to figure it out).

But looking at it, logfs_init_mapping() is currently called before
"s_freeing_list" is initialized, and it sets up at least
s_mapping_inode. So if anything fails between that point and the point
where we initialize s_freeing_list, I think we're toast.

I didn't check the other inodes, but at least that one does seem to be
potentially non-NULL. No?

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/