Skip to content

Commit a9d1c4c

Browse files
author
Miklos Szeredi
committed
fuse: revalidate: don't invalidate if interrupted
If the LOOKUP request triggered from fuse_dentry_revalidate() is interrupted, then the dentry will be invalidated, possibly resulting in submounts being unmounted. Reported-by: Xu Rongbo <xurongbo@baidu.com> Closes: https://lore.kernel.org/all/CAJfpegswN_CJJ6C3RZiaK6rpFmNyWmXfaEpnQUJ42KCwNF5tWw@mail.gmail.com/ Fixes: 9e6268d ("[PATCH] FUSE - read-write operations") Cc: <stable@vger.kernel.org> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
1 parent 3066ff9 commit a9d1c4c

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

fs/fuse/dir.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)
258258
spin_unlock(&fi->lock);
259259
}
260260
kfree(forget);
261-
if (ret == -ENOMEM)
261+
if (ret == -ENOMEM || ret == -EINTR)
262262
goto out;
263263
if (ret || fuse_invalid_attr(&outarg.attr) ||
264264
fuse_stale_inode(inode, outarg.generation, &outarg.attr))

0 commit comments

Comments
 (0)