All Virtuozzo development lists (kernel + QEMU)
 help / color / mirror / Atom feed
* [Devel] [PATCH VZ10] core: allow to bypass rhel pci blacklist
@ 2026-09-15 16:02 Alexey Kuznetsov
  0 siblings, 0 replies; only message in thread
From: Alexey Kuznetsov @ 2026-09-15 16:02 UTC (permalink / raw)
  To: devel, khorenko, kui.liu, azaitsev

Enforcing blacklist was rude decision from rhel side.
It makes it impossible to boot release kernels on some of our
lab equipment.

The patch removes from blacklist one and only one specific
device, it is one on Mellanox ConnectX-3 cards. I insist
the removal of ConnectX-3 has no technical ground,
X3 and X4 is the same hardware, their driver is highly
stable and did not even change between rhel9 and 10.
In case they are going to drop entire mlx4 driver,
we have to deal with this, but not now.

Also, kernel option skip_pci_blacklist is added just in case
some real customer hits the same obstacle. I am not sure
it is usable, but at least if the host with blacklisted
hardware has IPMI console it is possible to deploy VZ10 there.

Signed-off-by: Alexey Kuznetsov <kuznet@virtuozzo.com>
---
 kernel/rh_messages.c | 10 ++++++++++
 kernel/rh_messages.h |  1 -
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/kernel/rh_messages.c b/kernel/rh_messages.c
index bb69e8965748..db784e0e5c72 100644
--- a/kernel/rh_messages.c
+++ b/kernel/rh_messages.c
@@ -20,6 +20,8 @@
 #include <linux/pci.h>
 #include "rh_messages.h"
 
+static bool skip_pci_blacklist;
+
 /**
  * mark_hardware_unmaintained() - Mark hardware as unmaintained.
  * @driver_name: driver name
@@ -164,6 +166,12 @@ static bool __maybe_unused pci_hw_disabled(struct pci_dev *dev)
 	if (!ret)
 		return false;
 
+	if (skip_pci_blacklist) {
+		mark_hardware_deprecated(dev_driver_string(&dev->dev), "%04X:%04X @ %s",
+					 dev->device, dev->vendor, pci_name(dev));
+		return false;
+	}
+
 	mark_hardware_disabled(dev_driver_string(&dev->dev), "%04X:%04X @ %s",
 				   dev->device, dev->vendor, pci_name(dev));
 	return true;
@@ -383,6 +391,8 @@ bool __maybe_unused pci_rh_check_status(struct pci_dev *pci_dev)
 }
 #endif
 
+core_param(skip_pci_blacklist, skip_pci_blacklist, bool, 0644);
+
 /** module_rh_check_status - checks the status of a module.
  * @module_name: Name of module to be examined
  *
diff --git a/kernel/rh_messages.h b/kernel/rh_messages.h
index 05ad12af6a6d..9a184a9fa659 100644
--- a/kernel/rh_messages.h
+++ b/kernel/rh_messages.h
@@ -265,7 +265,6 @@ static const struct pci_device_id rh_disabled_pci_devices[] = {
 	{ 0x15B3, 0x1004, PCI_ANY_ID, PCI_ANY_ID },
 	{ 0x15B3, 0x1005, PCI_ANY_ID, PCI_ANY_ID },
 	{ 0x15B3, 0x1006, PCI_ANY_ID, PCI_ANY_ID },
-	{ 0x15B3, 0x1007, PCI_ANY_ID, PCI_ANY_ID },
 	{ 0x15B3, 0x1008, PCI_ANY_ID, PCI_ANY_ID },
 	{ 0x15B3, 0x1009, PCI_ANY_ID, PCI_ANY_ID },
 	{ 0x15B3, 0x100a, PCI_ANY_ID, PCI_ANY_ID },
-- 
2.43.0

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-15 16:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-15 16:02 [Devel] [PATCH VZ10] core: allow to bypass rhel pci blacklist Alexey Kuznetsov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.