Skip to content

iommu: vfio: pass vf_token only when SR-IOV is involved#59

Merged
minwooim merged 1 commit into
SamsungDS:mainfrom
minwooim:vf-token
Jun 15, 2026
Merged

iommu: vfio: pass vf_token only when SR-IOV is involved#59
minwooim merged 1 commit into
SamsungDS:mainfrom
minwooim:vf-token

Conversation

@minwooim

Copy link
Copy Markdown
Collaborator

The VF token mechanism is only relevant when SR-IOV is in use: either the device being opened is a VF, or it is a PF that supports SR-IOV. Passing a vf_token to VFIO_GROUP_GET_DEVICE_FD for a device that has nothing to do with SR-IOV causes the ioctl to fail.

Guard the vf_token handling with a new helper pci_is_sriov_supported, which returns true if the device is an SR-IOV capable PF (pci_is_pf) or a VF (pci_is_vf). pci_is_pf checks for the presence of sriov_numvfs in sysfs; devices that do not support SR-IOV simply lack that file.

Link: https://lore.kernel.org/all/20200319182730.16f4c476.cohuck@redhat.com

@minwooim minwooim requested a review from birkelund June 10, 2026 00:37

@lsgunth lsgunth left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've reviewed this PR and it looks good to me save one question I could go either way on:

If VFTOKEN is set in the environment but not used because pci_is_sriov_supported() is false, should the user get a warning message saying the value was ignored?

@minwooim minwooim force-pushed the vf-token branch 2 times, most recently from 6eb5fa9 to 5734683 Compare June 14, 2026 23:29
The VF token mechanism is only relevant when SR-IOV is in use: either
the device being opened is a VF, or it is a PF that supports SR-IOV.
Passing a vf_token to VFIO_GROUP_GET_DEVICE_FD for a device that has
nothing to do with SR-IOV causes the ioctl to fail.

Guard the vf_token handling with a new helper pci_is_sriov_supported,
which returns true if the device is an SR-IOV capable PF (pci_is_pf) or
a VF (pci_is_vf). pci_is_pf checks for the presence of sriov_numvfs in
sysfs; devices that do not support SR-IOV simply lack that file.

Link: https://lore.kernel.org/all/20200319182730.16f4c476.cohuck@redhat.com
Signed-off-by: Jonghwi Jeong <jongh2.jeong@samsung.com>
Signed-off-by: Minwoo Im <minwoo.im@samsung.com>
@minwooim minwooim merged commit b818a81 into SamsungDS:main Jun 15, 2026
24 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants