summaryrefslogtreecommitdiff
path: root/fs/locks.c
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2015-06-22 13:53:48 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2015-06-22 13:53:48 +0200
commitcdb672795876d7bc1870aed9a2d7cb59f43d1d96 (patch)
tree83f520fa3fc7ccf117e821e6707c9de25b9e989b /fs/locks.c
parent7c03b5d45b8eebf0111125053d8fe887cc262ba6 (diff)
ovl: lookup whiteouts outside iterate_dir()
If jffs2 can deadlock on overlayfs readdir because it takes the same lock on ->iterate() as in ->lookup(). Fix by moving whiteout checking outside iterate_dir(). Optimized by collecting potential whiteouts (DT_CHR) in a temporary list and if non-empty iterating throug these and checking for a 0/0 chardev. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Fixes: 49c21e1cacd7 ("ovl: check whiteout while reading directory") Reported-by: Roman Yeryomin <leroi.lists@gmail.com>
Diffstat (limited to 'fs/locks.c')
0 files changed, 0 insertions, 0 deletions