mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
um: vfio: Prevent duplicate device assignments
Ensure devices are assigned only once. Reject subsequent requests
for duplicate assignments.
Fixes: a0e2cb6a90
("um: Add VFIO-based virtual PCI driver")
Signed-off-by: Tiwei Bie <tiwei.btw@antgroup.com>
Link: https://patch.msgid.link/20250606124428.148164-4-tiwei.btw@antgroup.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
c55c7a85e0
commit
bc4e2ae081
|
@ -570,6 +570,17 @@ static void uml_vfio_release_device(struct uml_vfio_device *dev)
|
|||
kfree(dev);
|
||||
}
|
||||
|
||||
static struct uml_vfio_device *uml_vfio_find_device(const char *device)
|
||||
{
|
||||
struct uml_vfio_device *dev;
|
||||
|
||||
list_for_each_entry(dev, ¨_vfio_devices, list) {
|
||||
if (!strcmp(dev->name, device))
|
||||
return dev;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int uml_vfio_cmdline_set(const char *device, const struct kernel_param *kp)
|
||||
{
|
||||
struct uml_vfio_device *dev;
|
||||
|
@ -582,6 +593,9 @@ static int uml_vfio_cmdline_set(const char *device, const struct kernel_param *k
|
|||
uml_vfio_container.fd = fd;
|
||||
}
|
||||
|
||||
if (uml_vfio_find_device(device))
|
||||
return -EEXIST;
|
||||
|
||||
dev = kzalloc(sizeof(*dev), GFP_KERNEL);
|
||||
if (!dev)
|
||||
return -ENOMEM;
|
||||
|
|
Loading…
Reference in New Issue
Block a user