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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55F13644.2080203@internode.on.net>
Date:	Thu, 10 Sep 2015 17:20:28 +0930
From:	Arthur Marsh <arthur.marsh@...ernode.on.net>
To:	Jiang Liu <jiang.liu@...ux.intel.com>
CC:	Bjorn Helgaas <bhelgaas@...gle.com>, tglx@...utronix.de,
	linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: eata fails to load on post 4.2 kernels



Jiang Liu wrote on 08/09/15 14:49:
> Hi Auhur,
> 	Could you please help to apply the test patch
> against the latest mainstream linux kernel?
> Thanks!
> Gerry
...

>>>> git bisect good
>>>> 991de2e59090e55c65a7f59a049142e3c480f7bd is the first bad commit
>>>> commit 991de2e59090e55c65a7f59a049142e3c480f7bd
>>>> Author: Jiang Liu <jiang.liu@...ux.intel.com>
>>>> Date:   Wed Jun 10 16:54:59 2015 +0800
>>>>
>>>>       PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()
>>>>
>>>>       To support IOAPIC hotplug, we need to allocate PCI IRQ resources on
>>>> demand
>>>>       and free them when not used anymore.
>>>>
>>>>       Implement pcibios_alloc_irq() and pcibios_free_irq() to dynamically
>>>>       allocate and free PCI IRQs.
>>>>
>>>>       Remove mp_should_keep_irq(), which is no longer used.
>>>>
>>>>       [bhelgaas: changelog]
>>>>       Signed-off-by: Jiang Liu <jiang.liu@...ux.intel.com>
>>>>       Signed-off-by: Bjorn Helgaas <bhelgaas@...gle.com>
>>>>       Acked-by: Thomas Gleixner <tglx@...utronix.de>
>>>>
>>>> :040000 040000 765e2d5232d53247ec260b34b51589c3bccb36ae
>>>> f680234a27685e94b1a35ae2a7218f8eafa9071a M      arch
>>>> :040000 040000 d55a682bcde72682e883365e88ad1df6186fd54d
>>>> f82c470a04a6845fcf5e0aa934512c75628f798d M      drivers

I tried to do a kexec shut-down with the first version of your patch:

 >From 3085626fb2e677c1d88f158397948935b73f5239 Mon Sep 17 00:00:00 2001
From: Jiang Liu <jiang.liu@...ux.intel.com>
Date: Tue, 8 Sep 2015 10:41:19 +0800
Subject: [PATCH]


Signed-off-by: Jiang Liu <jiang.liu@...ux.intel.com>
---
  drivers/pci/pci-driver.c |    1 +
  drivers/scsi/eata.c      |    2 ++
  2 files changed, 3 insertions(+)

diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 52a880ca1768..17d2a0b1de18 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -392,6 +392,7 @@ int __weak pcibios_alloc_irq(struct pci_dev *dev)
  {
  	return 0;
  }
+EXPORT_SYMBOL_GPL(pcibios_alloc_irq);

  void __weak pcibios_free_irq(struct pci_dev *dev)
  {
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
index 227dd2c2ec2f..7e6eaf867987 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -1061,6 +1061,7 @@ static void enable_pci_ports(void)
  		       driver_name, dev->bus->number, dev->devfn);
  #endif

+		pcibios_alloc_irq(dev);
  		if (pci_enable_device(dev))
  			printk
  			    ("%s: warning, pci_enable_device failed, bus %d devfn 0x%x.\n",
@@ -1520,6 +1521,7 @@ static void add_pci_ports(void)
  		if (!(dev = pci_get_class(PCI_CLASS_STORAGE_SCSI << 8, dev)))
  			break;

+		pcibios_alloc_irq(dev);
  		if (pci_enable_device(dev)) {
  #if defined(DEBUG_PCI_DETECT)
  			printk
-- 
1.7.10.4

but I experience identical kexec shutdown and restart problems as with 
the second version of your patch, as seen here:

http://www.users.on.net/~arthur.marsh/20150910541.jpg

the original commit 991de2e59090e55c65a7f59a049142e3c480f7bd quoted 
above seems to have not only lead to start-up problems unless irqpoll 
was enabled but also lead to kexec shutdown/restart problems.

I'm not sure what the solution is but it is good to continue to allow 
kexec reboots to work.

Arthur.
--
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