Re: [PATCH] PCI/AER: only insert one element into kfifo
From: Bjorn Helgaas
Date: Fri Dec 14 2018 - 12:37:03 EST
On Wed, Dec 12, 2018 at 04:32:30PM +0800, Yanjiang Jin wrote:
> 'commit ecae65e133f2 ("PCI/AER: Use kfifo_in_spinlocked() to
> insert locked elements")' replace kfifo_put() with kfifo_in_spinlocked().
>
> But as "kfifo_in(fifo, buf, n)" describes:
> " * @n: number of elements to be added".
>
> We want to insert only one element into kfifo, not "sizeof(entry) = 16".
> Without this patch, we would get 15 uninitialized elements.
>
> Signed-off-by: Yanjiang Jin <yanjiang.jin@xxxxxxxxxxxxxxxx>
Since this fixes ecae65e133f2, which was applied for v4.20, I applied
this with Keith's reviewed-by to for-linus so we can get it into
v4.20.
For some reason the patch didn't apply, but I can't see why, so I
just applied it by hand.
Thanks!
> ---
> drivers/pci/pcie/aer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> index a90a919..fed29de 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
> --
> 1.8.3.1
>
>
>
>
> This email is intended only for the named addressee. It may contain information that is confidential/private, legally privileged, or copyright-protected, and you should handle it accordingly. If you are not the intended recipient, you do not have legal rights to retain, copy, or distribute this email or its contents, and should promptly delete the email and all electronic copies in your system; do not retain copies in any media. If you have received this email in error, please notify the sender promptly. Thank you.
>
>