opnsense-src/sys/fs/fuse
Alan Somers b0ecfb42d1 fusefs: avoid cache corruption with buggy fuse servers
The FUSE protocol allows the client (kernel) to cache a file's size, if the
server (userspace daemon) allows it. A well-behaved daemon obviously should
not change a file's size while a client has it cached. But a buggy daemon
might. If the kernel ever detects that that has happened, then it should
invalidate the entire cache for that file. Previously, we would not only
cache stale data, but in the case of a file extension while we had the size
cached, we accidentally extended the cache with zeros.

PR:		244178
Reported by:	Ben RUBSON <ben.rubson@gmx.com>
Reviewed by:	cem
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D24012
2020-03-11 04:29:45 +00:00
..
fuse.h [skip ci] update copyright headers in fusefs files 2019-06-28 04:18:10 +00:00
fuse_device.c fusefs: don't leak memory of unsent operations on unmount 2019-06-28 18:48:02 +00:00
fuse_file.c fusefs: remove superfluous counter_u64_zero 2019-08-06 00:50:25 +00:00
fuse_file.h [skip ci] update copyright headers in fusefs files 2019-06-28 04:18:10 +00:00
fuse_internal.c fusefs: avoid cache corruption with buggy fuse servers 2020-03-11 04:29:45 +00:00
fuse_internal.h fusefs: fix the build after r350446 2019-07-31 21:48:35 +00:00
fuse_io.c vfs: introduce v_irflag and make v_type smaller 2019-12-08 21:30:04 +00:00
fuse_io.h [skip ci] update copyright headers in fusefs files 2019-06-28 04:18:10 +00:00
fuse_ipc.c fusefs: remove superfluous counter_u64_zero 2019-08-06 00:50:25 +00:00
fuse_ipc.h fusefs: add a intr/nointr mount option 2019-07-18 17:55:13 +00:00
fuse_kernel.h fusefs: raise protocol level to 7.23 2019-06-21 04:57:23 +00:00
fuse_main.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (8 of many) 2020-02-24 10:33:51 +00:00
fuse_node.c fusefs: avoid cache corruption with buggy fuse servers 2020-03-11 04:29:45 +00:00
fuse_node.h fusefs: avoid cache corruption with buggy fuse servers 2020-03-11 04:29:45 +00:00
fuse_vfsops.c vfs: drop the mostly unused flags argument from VOP_UNLOCK 2020-01-03 22:29:58 +00:00
fuse_vnops.c fusefs: avoid cache corruption with buggy fuse servers 2020-03-11 04:29:45 +00:00