OSDN Git Service

d_walk() might skip too much
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 29 May 2015 03:09:19 +0000 (23:09 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Jun 2015 15:20:56 +0000 (08:20 -0700)
commit06b31fdcf73f8dd0e7e30ce59800948b94e088a9
tree4ab3985da6ec5ade6510b08d9b7ce18112ae7140
parenta70f55580df0ac14cc54e20da811526bd8989adb
d_walk() might skip too much

commit 2159184ea01e4ae7d15f2017e296d4bc82d5aeb0 upstream.

when we find that a child has died while we'd been trying to ascend,
we should go into the first live sibling itself, rather than its sibling.

Off-by-one in question had been introduced in "deal with deadlock in
d_walk()" and the fix needs to be backported to all branches this one
has been backported to.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/dcache.c