mbox series

[v2,0/8] Break up ioctl dispatch functions to one function per ioctl

Message ID 0-v2-0f9e632d54fb+d6-vfio_ioctl_split_jgg@nvidia.com (mailing list archive)
Headers show
Series Break up ioctl dispatch functions to one function per ioctl | expand

Message

Jason Gunthorpe Aug. 31, 2022, 8:15 p.m. UTC
Move ioctl dispatch functions for the group FD and PCI to follow a common
pattern:

 - One function per ioctl
 - Function name has 'ioctl' in it
 - Function takes in a __user pointer of the correct type

At least PCI has grown its single ioctl function to over 500 lines and
needs splitting. Group is split up in the same style to make some coming
patches more understandable.

This is based on the "Remove private items from linux/vfio_pci_core.h"
series as it has a minor conflict with it.

v2:
 - Rebase onto the v2 "Remove private items" series with
   vfio_pci_core_register_dev_region()
 - Pull the locking into vfio_group_ioctl_unset_container()
 - Add missing blank line before vfio_group_ioctl_get_status()
 - Remove stray whitespace in 'return vfio_group_ioctl_set_container'
 - Remove the 'ret' variable in vfio_group_fops_unl_ioctl() since
   everything just returns directly
v1: https://lore.kernel.org/r/0-v1-11d8272dc65a+4bd-vfio_ioctl_split_jgg@nvidia.com

Jason Gunthorpe (8):
  vfio-pci: Fix vfio_pci_ioeventfd() to return int
  vfio-pci: Break up vfio_pci_core_ioctl() into one function per ioctl
  vfio-pci: Re-indent what was vfio_pci_core_ioctl()
  vfio-pci: Replace 'void __user *' with proper types in the ioctl
    functions
  vfio: Fold VFIO_GROUP_GET_DEVICE_FD into vfio_group_get_device_fd()
  vfio: Fold VFIO_GROUP_SET_CONTAINER into vfio_group_set_container()
  vfio: Follow the naming pattern for vfio_group_ioctl_unset_container()
  vfio: Split VFIO_GROUP_GET_STATUS into a function

 drivers/vfio/pci/vfio_pci_core.c | 800 ++++++++++++++++---------------
 drivers/vfio/pci/vfio_pci_priv.h |   4 +-
 drivers/vfio/pci/vfio_pci_rdwr.c |   4 +-
 drivers/vfio/vfio_main.c         | 161 ++++---
 4 files changed, 496 insertions(+), 473 deletions(-)


base-commit: c444ddba00ccce817f6e1ca6b71b041dd1007a17

Comments

Alex Williamson Sept. 2, 2022, 6:42 p.m. UTC | #1
On Wed, 31 Aug 2022 17:15:55 -0300
Jason Gunthorpe <jgg@nvidia.com> wrote:

> Move ioctl dispatch functions for the group FD and PCI to follow a common
> pattern:
> 
>  - One function per ioctl
>  - Function name has 'ioctl' in it
>  - Function takes in a __user pointer of the correct type
> 
> At least PCI has grown its single ioctl function to over 500 lines and
> needs splitting. Group is split up in the same style to make some coming
> patches more understandable.
> 
> This is based on the "Remove private items from linux/vfio_pci_core.h"
> series as it has a minor conflict with it.
> 
> v2:

Applied to vfio next branch for v6.1.  Thanks,

Alex