[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210818113820.fzjeouy6tohbzuad@pali>
Date: Wed, 18 Aug 2021 13:38:20 +0200
From: Pali Rohár <pali@...nel.org>
To: Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>
Cc: Marc Zyngier <maz@...nel.org>, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: pcie-uniphier: race condition in masking/unmasking interrupts
Hello!
Marc pointed during review of pci-aardvark patches one issue which I see
that is available also in the current pcie-uniphier.c driver.
When masking or unmasking interrupts there is read-modify-write sequence
for PCL_RCV_INTX_MASK_SHIFT register without any locking:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pci/controller/dwc/pcie-uniphier.c?h=v5.13#n171
So when trying to mask/unmask two interrupts at the same time there is
race condition as updating that PCL_RCV_INTX_MASK_SHIFT register is not
atomic.
Could you look at it?
Powered by blists - more mailing lists