diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2022-04-20 17:05:41 +0300 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2022-07-21 17:02:45 +0300 |
commit | 035ff33cf4db101250fb980a3941bf078f37a544 (patch) | |
tree | 0fda3aa19a62f49540903c49112ec03bc58e3c5d /fs/ext2 | |
parent | f2906aa863381afb0015a9eb7fefad885d4e5a56 (diff) | |
download | linux-035ff33cf4db101250fb980a3941bf078f37a544.tar.xz |
fuse: write inode in fuse_release()
A race between write(2) and close(2) allows pages to be dirtied after
fuse_flush -> write_inode_now(). If these pages are not flushed from
fuse_release(), then there might not be a writable open file later. So any
remaining dirty pages must be written back before the file is released.
This is a partial revert of the blamed commit.
Reported-by: syzbot+6e1efbd8efaaa6860e91@syzkaller.appspotmail.com
Fixes: 36ea23374d1f ("fuse: write inode in fuse_vma_close() instead of fuse_release()")
Cc: <stable@vger.kernel.org> # v5.16
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/ext2')
0 files changed, 0 insertions, 0 deletions