Re: Regression in next with ext4 oops

From: Tony Lindgren
Date: Tue Oct 04 2016 - 15:19:55 EST

* Theodore Ts'o <tytso@xxxxxxx> [161004 12:08]:
> On Tue, Oct 04, 2016 at 03:59:15PM +0100, Al Viro wrote:
> > Jan is wrong - we do have per-struct-file serialization for getdents()
> > It might be a race between getdents() on *different* struct
> > file for the same directory, but ->private_data is not a problem.
> So the rb_insert_color() OOPS seems to indicate that the rbtree has
> gotten corrupted, and it hangs off of private_data.

Yes so it seems..

> And I've just checked the ext4.git tree and I can't see any changes in
> the dev branch (which I was just about to push to Linus) that would
> impact the readdir path for non-encrypted directories. So if it's a
> race on ->private_data I'm not sure what else might be going wrong.
> Hmm... Tony, what version was the last good version where it wouldn't
> reproduce for you? v4.7? Does it reproduce for you on v4.8?

Well I just found it's caused by my commit d776fc86b82f ("wlcore:
sdio: Populate config firmware data") and has nothing to do with
ext4, see the mail I just posted.

> Also, would you mind seeing if you can reproduce it on the dev
> branch of the ext4 git tree?
> git:// dev

Seems like there's nothing wrong with ext4, this is probably some
memory corruption issue.

Thanks everybody for help and sorry for the false ext4 alert.