linux/fs/fuse
Sasha Levin 1ea806165e fuse: fix link error with CONFIG_FUSE_PASSTHROUGH=n
Commit 2f19d54c05 ("fuse: support 64 bit, server allocated backing ID")
moved the CONFIG_FUSE_PASSTHROUGH check out of the backing ioctl handlers
and into fuse_get_conn_for_passthrough(). The calls from the handlers
into backing.c, which is only built with CONFIG_FUSE_PASSTHROUGH, are now
only removed if the compiler inlines that helper. It does not have to,
and with gcc 11 and CONFIG_CC_OPTIMIZE_FOR_SIZE it doesn't:

  dev.c:(.text+0x355c): undefined reference to `fuse_backing_open'
  nios2-linux-ld: dev.c:(.text+0x3594): undefined reference to `fuse_backing_open_64'
  nios2-linux-ld: dev.c:(.text+0x35d0): undefined reference to `fuse_backing_close'

Check CONFIG_FUSE_PASSTHROUGH in each handler again, as
fuse_notify_backing_remove() does. The check still comes after the
fuse_get_dev() and -ENOTCONN checks, so the errors userspace sees do not
change.

Fixes: 2f19d54c05 ("fuse: support 64 bit, server allocated backing ID")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202610171310.uqRzJkIx-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202610260719.sj08mXBr-lkp@intel.com/
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2026-10-30 14:22:37 -10:00
..
acl.c fs: port ->get_acl() to pass const mnt_idmap 2026-09-23 09:19:50 +02:00
args.h fuse: add zero-copy over io-uring 2026-08-17 17:02:37 +02:00
backing.c fuse: resolve extent maps in O(1) when possible 2026-10-20 06:39:59 +02:00
control.c fuse: Add SPDX ID lines to some files 2026-06-15 14:06:19 +02:00
cuse.c fuse: rename fuse_direct_io() to fuse_do_direct_io() 2026-10-16 12:17:08 +02:00
dax.c mm.git review status for linus..mm-stable 2026-10-27 12:23:17 -10:00
dev_uring_i.h fuse: add zero-copy over io-uring 2026-08-17 17:02:37 +02:00
dev_uring.c fuse: return -E2BIG for an oversized SETXATTR over io-uring 2026-09-25 16:57:41 +02:00
dev.c fuse: fix link error with CONFIG_FUSE_PASSTHROUGH=n 2026-10-30 14:22:37 -10:00
dev.h fuse: support 64 bit, server allocated backing ID 2026-10-19 14:56:24 +02:00
dir.c fuse update for 7.4 2026-10-27 08:09:58 -10:00
ext_map.c fuse: resolve extent maps in O(1) when possible 2026-10-20 06:39:59 +02:00
file.c fuse update for 7.4 2026-10-27 08:09:58 -10:00
fuse_dev_i.h fuse: give wakeup hints to the scheduler for synchronous requests 2026-08-18 11:52:56 +02:00
fuse_i.h fuse update for 7.4 2026-10-27 08:09:58 -10:00
fuse_trace.h fuse: add fuse_request_sent tracepoint 2026-06-15 14:06:19 +02:00
inode.c fuse: add support for opening dax device as backing 2026-10-19 14:56:24 +02:00
ioctl.c fuse update for 7.4 2026-10-27 08:09:58 -10:00
iomode.c fuse: add support for opening dax device as backing 2026-10-19 14:56:24 +02:00
Kconfig fuse: use "vdax" naming for virtiofs DAX 2026-10-01 16:30:31 +02:00
Makefile fuse: add extent map data structure 2026-10-19 14:56:24 +02:00
notify.c fuse: add support for striped backing 2026-10-19 14:56:24 +02:00
passthrough.c fuse: handle extent map files in fuse_passthrough_fadvise() 2026-10-26 18:10:12 +01:00
poll.c fuse: create poll.c 2026-06-15 14:06:17 +02:00
readdir.c fuse update for 7.4 2026-10-27 08:09:58 -10:00
req_timeout.c fuse: use min_not_zero() in fuse_init_server_timeout() 2026-08-18 14:35:23 +02:00
req.c fuse update for 7.4 2026-10-27 08:09:58 -10:00
sysctl.c fuse: move request timeout code to a new source file 2026-06-15 14:06:15 +02:00
sysctl.h fuse: move request timeout code to a new source file 2026-06-15 14:06:15 +02:00
trace.c fuse: move CREATE_TRACE_POINTS to a separate file 2025-09-25 16:22:18 +02:00
virtio_fs.c virtiofs: validate fixed-output response length 2026-10-16 12:21:08 +02:00
xattr.c fs: port xattr to const mnt_idmap 2026-09-23 09:19:49 +02:00