PCI: Set pci=nobios by default
authorBen Hutchings <ben@decadent.org.uk>
Tue, 16 Feb 2016 02:45:42 +0000 (02:45 +0000)
committerYves-Alexis Perez <corsac@debian.org>
Wed, 21 Feb 2018 15:29:03 +0000 (15:29 +0000)
CONFIG_PCI_GOBIOS results in physical addresses 640KB-1MB being mapped
W+X, which is undesirable for security reasons and will result in a
warning at boot now that we enable CONFIG_DEBUG_WX.

This can be overridden using the kernel parameter "pci=nobios", but we
want to disable W+X by default.  Disable PCI BIOS probing by default;
it can still be enabled using "pci=bios".

Gbp-Pq: Topic debian
Gbp-Pq: Name i386-686-pae-pci-set-pci-nobios-by-default.patch

arch/x86/pci/common.c

index a4fdfa7dcc1bc414af628411ac7e447651635b1d..f5506966a9c48a27325b31a444773bc8b43e9b0c 100644 (file)
@@ -19,8 +19,8 @@
 #include <asm/pci_x86.h>
 #include <asm/setup.h>
 
-unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2 |
-                               PCI_PROBE_MMCONF;
+unsigned int pci_probe = PCI_PROBE_CONF1 | PCI_PROBE_CONF2 | PCI_PROBE_MMCONF |
+       (IS_ENABLED(CONFIG_X86_64) || IS_ENABLED(CONFIG_X86_PAE) ? 0 : PCI_PROBE_BIOS);
 
 unsigned int pci_early_dump_regs;
 static int pci_bf_sort;