On Sat, Aug 1, 2015 at 12:26 AM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > Actually, the shit had hit the fan earlier. Look: in > commit b18825a7c8e37a7cf6abb97a12a6ad71af160de7 > Author: David Howells <dhowells@xxxxxxxxxx> > Date: Thu Sep 12 19:22:53 2013 +0100 > > VFS: Put a small type field into struct dentry::d_flags > > we have this: > > - if (!can_lookup(nd->inode)) { > + if (!d_is_directory(nd->path.dentry)) { Ahh. That's subtle, yes. Inodes are stable in ways that dentries aren't. And the reason why Dominique bisected it to 4bf46a272647 would seem to be that while dentries aren't really stable, the dentry flags generally don't change. But dentry_iput() changed to actually clear the type when clearing the inode, so that probably added a few cases where it went from "stable in practice" to be more easily triggered. Your patch looks obviously correct, with the slight worry that there might be other cases of this. > there. AFAICS, other places of that sort are not a problem anymore. Al, do you plan a pull request? It would be good to get this into rc5 (tomorrow) regardless of whether there might be other issues lurking too. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html