Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 2760

kernel-2.6.18-194.11.1.el5.src.rpm

From: Prarit Bhargava <prarit@redhat.com>
Date: Fri, 30 Oct 2009 12:47:48 -0400
Subject: [pci] aer: fix NULL pointer in aer injection code
Message-id: <20091030124627.6431.41323.sendpatchset@prarit.bos.redhat.com>
Patchwork-id: 21270
O-Subject: [RHEL5 PATCH 6/8]: AER: Fix NULL pointer in AER injection code [v2]
Bugzilla: 514442 517093
RH-Acked-by: Dean Nelson <dnelson@redhat.com>
RH-Acked-by: Ivan Vecera <ivecera@redhat.com>
RH-Acked-by: Andy Gospodarek <gospo@redhat.com>

The proper way to fix this is to backport

0927678f55c9a50c296f7e6dae85e87b8236e155
part of 1bf83e558cb29d163f4bc6decbc3800ecf4db195
and http://article.gmane.org/gmane.linux.kernel.pci/5853

However, that results in kabi breakage.

I considered some ugly hackery to map pcie_devs and pci_devs but rejected that
for being ... well, unreview-able.

So that leaves this simple patch that resolves the panic, and that will
maintain kabi.

Resolves BZ 517093 and 514442.

diff --git a/drivers/pci/pcie/aer/aer_inject.c b/drivers/pci/pcie/aer/aer_inject.c
index ca982b7..834df05 100644
--- a/drivers/pci/pcie/aer/aer_inject.c
+++ b/drivers/pci/pcie/aer/aer_inject.c
@@ -413,7 +413,7 @@ static int aer_inject(struct aer_error_inj *einj)
 	if (ret)
 		goto out_put;
 
-	if (find_aer_device(rpdev, &edev))
+	if (find_aer_device(rpdev, &edev) && get_service_data(edev))
 		aer_irq(-1, edev, NULL);
 	else
 		ret = -EINVAL;