summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWanlong Gao <wanlong.gao@gmail.com>2011-04-04 17:12:59 +0800
committerJesse Barnes <jbarnes@virtuousgeek.org>2011-05-10 15:43:30 -0700
commit40294d8f14384780a61a2dea8c92a231176ae301 (patch)
tree3f77092858a965b10827bd10b2a9171489a6f343
parent0e8ede5351b53610363215f750e576ca1db1d0cd (diff)
downloadlinux-40294d8f14384780a61a2dea8c92a231176ae301.tar.gz
linux-40294d8f14384780a61a2dea8c92a231176ae301.tar.bz2
linux-40294d8f14384780a61a2dea8c92a231176ae301.zip
PCI: Fix uninitialized variable bug in AER injection code
If it was preempted, and the variable aer_mask_override is changed after the spin_unlock_irqrestore it will write an uninitialized variable by the pci_write_config_dword() function. Signed-off-by: Wanlong Gao <wanlong.gao@gmail.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
-rw-r--r--drivers/pci/pcie/aer/aer_inject.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/pcie/aer/aer_inject.c b/drivers/pci/pcie/aer/aer_inject.c
index f62079ff06dd..95489cd9a555 100644
--- a/drivers/pci/pcie/aer/aer_inject.c
+++ b/drivers/pci/pcie/aer/aer_inject.c
@@ -326,7 +326,7 @@ static int aer_inject(struct aer_error_inj *einj)
unsigned long flags;
unsigned int devfn = PCI_DEVFN(einj->dev, einj->fn);
int pos_cap_err, rp_pos_cap_err;
- u32 sever, cor_mask, uncor_mask, cor_mask_orig, uncor_mask_orig;
+ u32 sever, cor_mask, uncor_mask, cor_mask_orig = 0, uncor_mask_orig = 0;
int ret = 0;
dev = pci_get_domain_bus_and_slot((int)einj->domain, einj->bus, devfn);