]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 29 Nov 2013 17:27:19 +0000 (09:27 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 29 Nov 2013 17:27:19 +0000 (09:27 -0800)
commite4e16beeca300badef6dd73b926c16822495a2f7
treef2e1b1430ed37ee173ead7bb78e0fcbdc8ab11ac
parent46379168bfd03add5cb31f31f81771f26a35e2bc
parent6f5cd299c2b300ac283f4e4b5728ac2bef952bfe
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

Pull vfs dentry reference count fix from Al Viro.

This fixes a possible inode_permission NULL pointer dereference (and
other problems) that were due to the root dentry count being decremented
too much.  In commit a893150f58cd ("RCU'd vfsmounts") the placement of
clearing the LOOKUP_RCU bit changed, and we then returned failure of
incrementing the lockref on the parent dentry with LOOKUP_RCU cleared.

But that meant we needed to go through the same cleanup routines that
the later failures did wrt LOOKUP_ROOT and nd->root.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  fix bogus path_put() of nd->root after some unlazy_walk() failures