mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-28 19:54:35 +00:00
agent/device: Fix path matching for PCI devices
For the case of virtio-blk PCI devices, when matching uevents we create a pci_p temporary. However, we build it incorrectly: the dev_addr values we use for PCI devices are a relative sysfs paths from the PCI root to the device in question *including an initial /*. But when we construct pci_p we add an extra /, meaning the resulting path will *not* match properly. AFAICT the only reason we got away with this is because in practice the virtio-blk devices where discovered by the kernel before we looked for them meaning the loosed matching in get_device_name() was used, rather than the pci_p logic in handle_block_add_event(). Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
4f60880414
commit
11ae32e3c0
@ -82,7 +82,7 @@ impl Uevent {
|
||||
let empties: Vec<_> = w
|
||||
.iter_mut()
|
||||
.filter(|(dev_addr, _)| {
|
||||
let pci_p = format!("{}/{}", pci_root_bus_path, *dev_addr);
|
||||
let pci_p = format!("{}{}", pci_root_bus_path, *dev_addr);
|
||||
|
||||
// blk block device
|
||||
devpath.starts_with(pci_p.as_str()) ||
|
||||
|
Loading…
Reference in New Issue
Block a user