• Miklos Szeredi's avatar
    ovl: lookup whiteouts outside iterate_dir() · cdb67279
    Miklos Szeredi authored
    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: default avatarMiklos Szeredi <mszeredi@suse.cz>
    Fixes: 49c21e1c ("ovl: check whiteout while reading directory")
    Reported-by: Roman Yeryomin <leroi.lists@gmail.com> 
    cdb67279
readdir.c 12.4 KB