aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYanjiang Jin <[email protected]>2018-12-14 11:29:37 -0600
committerBjorn Helgaas <[email protected]>2018-12-14 11:29:37 -0600
commit1063a5148ac9d1606e80886fa53ee57d45fb4589 (patch)
tree763e820a0e296d120fdf76bd2bbe852e36143045
parentb07b864ee4232b03125992a8f6a490b040adcb6a (diff)
PCI/AER: Queue one GHES event, not several uninitialized ones
ecae65e133f2 ("PCI/AER: Use kfifo_in_spinlocked() to insert locked elements") replaced kfifo_put() with kfifo_in_spinlocked(), but passed the *size* of the queue entry, where kfifo_in_spinlocked() expects the *number* of entries to be copied. We want to insert only one element into kfifo, not "sizeof(entry) = 16". Without this patch, we would get 15 uninitialized elements. Fixes: ecae65e133f2 ("PCI/AER: Use kfifo_in_spinlocked() to insert locked elements") Signed-off-by: Yanjiang Jin <[email protected]> [bhelgaas: changelog] Signed-off-by: Bjorn Helgaas <[email protected]> Reviewed-by: Keith Busch <[email protected]>
-rw-r--r--drivers/pci/pcie/aer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index a90a9194ac4a..fed29de783e0 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -1064,7 +1064,7 @@ void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn,
.regs = aer_regs,
};
- if (kfifo_in_spinlocked(&aer_recover_ring, &entry, sizeof(entry),
+ if (kfifo_in_spinlocked(&aer_recover_ring, &entry, 1,
&aer_recover_ring_lock))
schedule_work(&aer_recover_work);
else