Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix bogus path_put() of nd->root after some unlazy_walk() failures

Failure to grab reference to parent dentry should go through the
same cleanup as nd->seq mismatch. As it is, we might end up with
caller thinking it needs to path_put() nd->root, with obvious
nasty results once we'd hit that bug enough times to drive the
refcount of root dentry all the way to zero...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro d870b4a1 2e7babfa

+1 -2
+1 -2
fs/namei.c
··· 513 513 514 514 if (!lockref_get_not_dead(&parent->d_lockref)) { 515 515 nd->path.dentry = NULL; 516 - rcu_read_unlock(); 517 - return -ECHILD; 516 + goto out; 518 517 } 519 518 520 519 /*