freebsd-skq/sys/fs
Alan Somers 5e63333052 fusefs: Fix some bugs regarding the size of the LISTXATTR list
* A small error in r338152 let to the returned size always being exactly
  eight bytes too large.

* The FUSE_LISTXATTR operation works like Linux's listxattr(2): if the
  caller does not provide enough space, then the server should return ERANGE
  rather than return a truncated list.  That's true even though in FUSE's
  case the kernel doesn't provide space to the client at all; it simply
  requests a maximum size for the list.  We previously weren't handling the
  case where the server returns ERANGE even though the kernel requested as
  much size as the server had told us it needs; that can happen due to a
  race.

* We also need to ensure that a pathological server that always returns
  ERANGE no matter what size we request in FUSE_LISTXATTR won't cause an
  infinite loop in the kernel.  As of this commit, it will instead cause an
  infinite loop that exits and enters the kernel on each iteration, allowing
  signals to be processed.

Reviewed by:	cem
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21287
2019-08-28 04:19:37 +00:00
..
autofs Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
cd9660 Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
cuse Free all allocated unit IDs in cuse(3) after the client character 2019-06-25 11:46:01 +00:00
deadfs Switch to use shared vnode locks for text files during image activation. 2019-05-05 11:20:43 +00:00
devfs Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
ext2fs Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
fdescfs Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
fifofs fcntl: fix overflow when setting F_READAHEAD 2019-06-20 23:07:20 +00:00
fuse fusefs: Fix some bugs regarding the size of the LISTXATTR list 2019-08-28 04:19:37 +00:00
msdosfs msdosfs_fat: reduce diffs with NetBSD and makefs 2019-08-22 16:06:52 +00:00
nfs Add #ifdef INET as requested by bz@. 2019-04-21 22:53:51 +00:00
nfsclient Get rid of extraneous initialization. 2019-05-31 03:13:09 +00:00
nfsserver Add support for the ModeSetMasked attribute to the NFSv4.1 server. 2019-04-19 23:35:08 +00:00
nullfs nullfs: reduce areas protected by vnode interlock 2019-08-25 05:13:15 +00:00
procfs Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
pseudofs pseudofs: Ignore unsupported commands in vop_setattr. 2019-05-28 20:54:59 +00:00
smbfs Replay r349334 by markj accidentally reverted by r349352 2019-06-25 06:14:00 +00:00
tmpfs Fix an issue with executing tmpfs binary. 2019-08-18 20:36:11 +00:00
udf Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
unionfs unionfs: stop passing LK_INTERLOCK to VOP_UNLOCK 2019-08-27 20:51:17 +00:00