HomeFreeBSD

fusefs: fix "recursing on non recursive lockmgr" panic

Description

fusefs: fix "recursing on non recursive lockmgr" panic

When mounted with -o default_permissions and when
vfs.fusefs.data_cache_mode=2, fuse_io_strategy would try to clear the suid
bit after a successful write by a non-owner. When combined with a
not-yet-committed attribute-caching patch I'm working on, and if the
FUSE_SETATTR response indicates an unexpected filesize (legal, if the file
system has other clients), this would end up calling vtruncbuf. That would
panic, because the buffer lock was already held by bufwrite or bufstrategy
or something else upstack from fuse_vnop_strategy.

Sponsored by: The FreeBSD Foundation

Details

Provenance
asomersAuthored on
Parents
rS348131: load_key_buf do not free data from dearmor
Branches
Unknown
Tags
Unknown