]> git.baikalelectronics.ru Git - kernel.git/commit
autofs4 - use simple_empty() for empty directory check
authorIan Kent <raven@themaw.net>
Fri, 14 Dec 2012 02:23:29 +0000 (10:23 +0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 14 Dec 2012 03:13:25 +0000 (19:13 -0800)
commit3d5dea154b788bc04de4a0d6de22d8e6e384fc55
treeb93489768a12a36fbb2ec33d1e04742f84238d9e
parent11e617904c1b007b0526e022aeaf04b6887b3b2c
autofs4 - use simple_empty() for empty directory check

For direct (and offset) mounts, if an automounted mount is manually
umounted the trigger mount dentry can appear non-empty causing it to
not trigger mounts. This can also happen if there is a file handle
leak in a user space automounting application.

This happens because, when a ioctl control file handle is opened
on the mount, a cursor dentry is created which causes list_empty()
to see the dentry as non-empty. Since there is a case where listing
the directory of these dentrys is needed, the use of dcache_dir_*()
functions for .open() and .release() is needed.

Consequently simple_empty() must be used instead of list_empty()
when checking for an empty directory.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/autofs4/root.c