NAK: [SRU][F:linux-bluefield][PATCH v2 0/2] gpio: Restrict usage of GPIO chip irq members before initialization

Tim Gardner tim.gardner at canonical.com
Tue Feb 21 16:21:19 UTC 2023


On 2/17/23 7:07 AM, Asmaa Mnebhi wrote:
> BugLink: https://bugs.launchpad.net/bugs/2007581
> 
> SRU Justification:
> 
> [Impact]
> 
> GPIO chip irq members are exposed before they could be completely
> initialized and this leads to race conditions.
> 
> One such issue was observed for the gc->irq.domain variable which
> was accessed through the pwr-mlxbf.c driver in gpiochip_to_irq() before
> it could be initialized by gpiochip_add_irqchip(). This resulted in
> Kernel NULL pointer dereference. This is a well known issue in the linux community
> and was fixed via 2 commits:
> 5467801f1fcbdc46bc7298a84dbf3ca1ff2a7320
> and
> 06fb4ecfeac7e00d6704fa5ed19299f2fefb3cc9 (since the previous commit caused a regression)
> 
> This race condition is intermittent and hard to reproduce.
> 
> [Fix]
> 
> * Backport: 5467801f1fcbdc46bc7298a84dbf3ca1ff2a7320 to fix the bug at stake
> * Backport: 06fb4ecfeac7e00d6704fa5ed19299f2fefb3cc9 to fix a regression introduced by the previous commit
> 
> [Test Case]
> 
> * Check that the gpio-mlxbf2.c driver is loaded with no kernel panic
> * check that all drivers dependent on gpio-mlxbf2.c driver are loaded (mlxbf-gige and pwr-mlxbf)
> * do 5000 reboots to make sure this race condition no longer happens
> 
> [Regression Potential]
> 
> This could cause some regression with the use of gpio interrupts so it is important to test the dependent
> drivers mlxbf-gige and pwr-mlxbf. Trigger power reset interrupt to test pwr-mlxbf and bring down/up the
> oob_net0 interface to test mlxbf-gige.
> 
> Mario Limonciello (1):
>    gpio: Request interrupts after IRQ is initialized
> 
> Shreeya Patel (1):
>    gpio: Restrict usage of GPIO chip irq members before initialization
> 
>   drivers/gpio/gpiolib.c      | 19 +++++++++++++++++++
>   include/linux/gpio/driver.h |  9 +++++++++
>   2 files changed, 28 insertions(+)
> 

This thread seems to be missing the patches.
-- 
-----------
Tim Gardner
Canonical, Inc




More information about the kernel-team mailing list