summaryrefslogtreecommitdiffstats
path: root/net/tipc/addr.c
diff options
context:
space:
mode:
authorIan Kent <raven@themaw.net>2012-08-06 09:37:47 +0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-08-16 11:58:28 -0700
commita45440f05e9ebc26f2a375df911823fdef5b5281 (patch)
tree68f36bc8cd8a8a32a41c6a4f3ee349ec29c9de80 /net/tipc/addr.c
parent63ca5f1d17a4eecaec3149982223fe89e55a568f (diff)
downloadop-kernel-dev-a45440f05e9ebc26f2a375df911823fdef5b5281.zip
op-kernel-dev-a45440f05e9ebc26f2a375df911823fdef5b5281.tar.gz
autofs4 - fix get_next_positive_subdir()
Following a report of a crash during an automount expire I found that the locking in fs/autofs4/expire.c:get_next_positive_subdir() was wrong. Not only is the locking wrong but the function is more complex than it needs to be. The function is meant to calculate (and dget) the next entry in the list of directories contained in the root of an autofs mount point (an autofs indirect mount to be precise). The main problem was that the d_lock of the owner of the list was not being taken when walking the list, which lead to list corruption under load. The only other lock that needs to be taken is against the next dentry candidate so it can be checked for usability. Signed-off-by: Ian Kent <raven@themaw.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net/tipc/addr.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud