Messages in this thread | | | Date | Wed, 9 Dec 2015 22:51:34 +0100 | Subject | Re: [PATCH] ovl: check dentry positiveness in ovl_cleanup_whiteouts() | From | Miklos Szeredi <> |
| |
On Mon, Nov 16, 2015 at 4:44 PM, Konstantin Khlebnikov <khlebnikov@yandex-team.ru> wrote: > This patch fixes kernel crash at removing directory which contains > whiteouts from lower layers. > > Cache of directory content passed as "list" contains entries from all > layers, including whiteouts from lower layers. So, lookup in upper dir > (moved into work at this stage) will return negative entry. Plus this > cache is filled long before and we can race with external removal. > > Example: > mkdir -p lower0/dir lower1/dir upper work overlay > touch lower0/dir/a lower0/dir/b > mknod lower1/dir/a c 0 0 > mount -t overlay none overlay -o lowerdir=lower1:lower0,upperdir=upper,workdir=work > rm -fr overlay/dir > > Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> > Cc: Stable <stable@vger.kernel.org> # 3.18+
Thanks, applied.
Miklos
| |