Re: [git pull] vfs part 2

Al Viro
2012-03-31T19:39:17Z

On Sat, Mar 31, 2012 at 12:29:41PM -0700, Linus Torvalds wrote:
> On Sat, Mar 31, 2012 at 11:57 AM, Al Viro <viro@zeniv.linux.org.uk> wrote:
> >
> > Works here... ?OK, that makes selinuxfs one the most likely suspect; let
> > me check if I can reproduce any crap with that... ?Do you see anything
> > selinux-related in the call chain, BTW?
>
> Yup.The oops scrolled off my screen, but the call chain was:
>
> init_sel_fs -> kernel_mount_data -> vfs_kern_mount -> mount_fs ->
> sel_mount -> mount_single -> (scrolled off)
>
> and then the actual oops happens in d_alloc+0x17, which is
> "parent->d_sb", so parent was NULL or something (the register state
> also scrolled off, and I didn't check the fault address, so it could
> have been some other invalid pointer too).

Sigh... sel_make_dir(), last line. Should be return dentry, is return 0...
Fixes the problem here (I've managed to reproduce it).

The question is, what to do with it? The fix is obvious and the damn thing
seems to work with it just fine. OTOH, the testing it got had been obviously
worthless (should've set default to selinux).

Variants:
1) drop that commit, fold obvious fix into it, leave it for for-next
once -rc1 is there; ask you to pull the branch with that sucker excluded
2) fold the fix into commit, ask you to pull the resulting branch
3) add fix to the end of existing branch, ask to pull