From 4a9d77371113e530e2e4bb9aa6ec91646556c5ab Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Tue, 11 Mar 2025 14:20:42 +0100 Subject: [PATCH] pci: mapping: check mdev config against hardware By passing the mapping config to assert_valid, not only the specific mapping. Signed-off-by: Dominik Csapak Reviewed-by: Christoph Heiss Reviewed-by: Fiona Ebner Tested-by: Christoph Heiss Signed-off-by: Thomas Lamprecht --- PVE/QemuServer/PCI.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/PVE/QemuServer/PCI.pm b/PVE/QemuServer/PCI.pm index d758ae9d..a0d99692 100644 --- a/PVE/QemuServer/PCI.pm +++ b/PVE/QemuServer/PCI.pm @@ -432,8 +432,10 @@ sub parse_hostpci { my $devices = PVE::Mapping::PCI::find_on_current_node($mapping); die "PCI device mapping not found for '$mapping'\n" if !$devices || !scalar($devices->@*); + my $config = PVE::Mapping::PCI::config(); + for my $device ($devices->@*) { - eval { PVE::Mapping::PCI::assert_valid($mapping, $device) }; + eval { PVE::Mapping::PCI::assert_valid($mapping, $device, $config->{ids}->{$mapping}) }; die "PCI device mapping invalid (hardware probably changed): $@\n" if $@; push $alternatives->@*, [split(/;/, $device->{path})]; }