lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Mon, 5 May 2008 21:59:58 -0500
From:	Matt Domsch <Matt_Domsch@...l.com>
To:	stable@...nel.org
Cc:	Yinghai Lu <yhlu.kernel@...il.com>, Ingo Molnar <mingo@...e.hu>,
	Thomas Gleixner <tglx@...utronix.de>,
	Jesse Barnes <jbarnes@...tuousgeek.org>,
	linux-kernel@...r.kernel.org, Michal Schmidt <mschmidt@...hat.com>,
	davej@...hat.com, Andy Gospodarek <andy@...yhouse.net>,
	john.cagle@...com, Greg KH <greg@...ah.com>
Subject: [PATCH stable] x86 PCI: call dmi_check_pciprobe()

This is a backport of the noted commit which is in 2.6.26-rc1
now.  This is necessary to enable pci=bfsort automatically on a number
of Dell and HP servers, as well as pci=assign-busses for a few other
systems, which was broken between 2.6.22 and 2.6.23.

commit 0df18ff366853cdf31e5238764ec5c63e6b5a398
Author: Yinghai Lu <yhlu.kernel@...il.com>
Date:   Mon Apr 14 15:40:37 2008 -0700

    x86 PCI: call dmi_check_pciprobe()
    
    this change:
    
    | commit 08f1c192c3c32797068bfe97738babb3295bbf42
    | Author: Muli Ben-Yehuda <muli@...ibm.com>
    | Date:   Sun Jul 22 00:23:39 2007 +0300
    |
    |    x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata
    |
    |    This patch introduces struct pci_sysdata to x86 and x86-64, and
    |    converts the existing two users (NUMA, Calgary) to use it.
    |
    |    This lays the groundwork for having other users of sysdata, such as
    |    the PCI domains work.
    |
    |    The Calgary bits are tested, the NUMA bits just look ok.
    
    replaces pcibios_scan_root with pci_scan_bus_parented...
    
    but in pcibios_scan_root we have a DMI check:
    
        dmi_check_system(pciprobe_dmi_table);
    
    when when have several peer root buses this could be called multiple
    times (which is bad), so move that call to pci_access_init().
    
    Signed-off-by: Yinghai Lu <yhlu.kernel@...il.com>
    Signed-off-by: Ingo Molnar <mingo@...e.hu>
    Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
    Signed-off-by: Jesse Barnes <jbarnes@...tuousgeek.org>


Signed-off-by: Matt Domsch <Matt_Domsch@...l.com>

-- 
Matt Domsch
Linux Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux

diff -urNp --exclude-from=/home/mdomsch/excludes --minimal linux-2.6.25.1.orig/arch/x86/pci/common.c linux-2.6.25.1/arch/x86/pci/common.c
--- linux-2.6.25.1.orig/arch/x86/pci/common.c	2008-05-01 16:45:25.000000000 -0500
+++ linux-2.6.25.1/arch/x86/pci/common.c	2008-05-05 20:49:52.000000000 -0500
@@ -372,13 +372,16 @@ static struct dmi_system_id __devinitdat
 	{}
 };
 
+void __init dmi_check_pciprobe(void)
+{
+	dmi_check_system(pciprobe_dmi_table);
+}
+
 struct pci_bus * __devinit pcibios_scan_root(int busnum)
 {
 	struct pci_bus *bus = NULL;
 	struct pci_sysdata *sd;
 
-	dmi_check_system(pciprobe_dmi_table);
-
 	while ((bus = pci_find_next_bus(bus)) != NULL) {
 		if (bus->number == busnum) {
 			/* Already scanned */
diff -urNp --exclude-from=/home/mdomsch/excludes --minimal linux-2.6.25.1.orig/arch/x86/pci/init.c linux-2.6.25.1/arch/x86/pci/init.c
--- linux-2.6.25.1.orig/arch/x86/pci/init.c	2008-05-01 16:45:25.000000000 -0500
+++ linux-2.6.25.1/arch/x86/pci/init.c	2008-05-05 20:51:02.000000000 -0500
@@ -32,6 +32,8 @@ static __init int pci_access_init(void)
 		printk(KERN_ERR
 		"PCI: Fatal: No config space access function found\n");
 
+ 	dmi_check_pciprobe();
+
 	return 0;
 }
 arch_initcall(pci_access_init);
diff -urNp --exclude-from=/home/mdomsch/excludes --minimal linux-2.6.25.1.orig/arch/x86/pci/pci.h linux-2.6.25.1/arch/x86/pci/pci.h
--- linux-2.6.25.1.orig/arch/x86/pci/pci.h	2008-05-01 16:45:25.000000000 -0500
+++ linux-2.6.25.1/arch/x86/pci/pci.h	2008-05-05 20:50:29.000000000 -0500
@@ -39,6 +39,8 @@ enum pci_bf_sort_state {
 	pci_dmi_bf,
 };
 
+extern void __init dmi_check_pciprobe(void);
+
 /* pci-i386.c */
 
 extern unsigned int pcibios_max_latency;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ