Merge tag 'pull-fd' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 18 Nov 2024 20:24:06 +0000 (12:24 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 18 Nov 2024 20:24:06 +0000 (12:24 -0800)
commit0f25f0e4efaeb68086f7e65c442f2d648b21736f
treef78d0fa8c337ee7319dbc80215c5fa5102c4bb3e
parent23acd177540d7ba929cdc801b73d15d799f654f4
parent38052c2dd71f5490f34bba21dc358e97fb205ee5
Merge tag 'pull-fd' of git://git./linux/kernel/git/viro/vfs

Pull 'struct fd' class updates from Al Viro:
 "The bulk of struct fd memory safety stuff

  Making sure that struct fd instances are destroyed in the same scope
  where they'd been created, getting rid of reassignments and passing
  them by reference, converting to CLASS(fd{,_pos,_raw}).

  We are getting very close to having the memory safety of that stuff
  trivial to verify"

* tag 'pull-fd' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (28 commits)
  deal with the last remaing boolean uses of fd_file()
  css_set_fork(): switch to CLASS(fd_raw, ...)
  memcg_write_event_control(): switch to CLASS(fd)
  assorted variants of irqfd setup: convert to CLASS(fd)
  do_pollfd(): convert to CLASS(fd)
  convert do_select()
  convert vfs_dedupe_file_range().
  convert cifs_ioctl_copychunk()
  convert media_request_get_by_fd()
  convert spu_run(2)
  switch spufs_calls_{get,put}() to CLASS() use
  convert cachestat(2)
  convert do_preadv()/do_pwritev()
  fdget(), more trivial conversions
  fdget(), trivial conversions
  privcmd_ioeventfd_assign(): don't open-code eventfd_ctx_fdget()
  o2hb_region_dev_store(): avoid goto around fdget()/fdput()
  introduce "fd_pos" class, convert fdget_pos() users to it.
  fdget_raw() users: switch to CLASS(fd_raw)
  convert vmsplice() to CLASS(fd)
  ...
20 files changed:
arch/x86/kvm/svm/sev.c
drivers/xen/privcmd.c
fs/eventpoll.c
fs/f2fs/file.c
fs/fcntl.c
fs/namei.c
fs/namespace.c
fs/notify/fanotify/fanotify_user.c
fs/open.c
fs/read_write.c
fs/xfs/xfs_ioctl.c
include/linux/file.h
kernel/cgroup/cgroup.c
kernel/events/core.c
kernel/signal.c
mm/filemap.c
mm/memcontrol-v1.c
net/netlink/af_netlink.c
net/socket.c
security/landlock/syscalls.c