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

Asmaa Mnebhi asmaa at nvidia.com
Mon Feb 27 21:24:46 UTC 2023


Hi Tim, Hi Stefan,

> > 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.

I did send the patches for this cover letter. Please see email with subject below and let me know if it is ok:
[SRU][F:linux-bluefield][PATCH v2 1/2] gpio: Restrict usage of GPIO chip irq members before initialization
[SRU][F:linux-bluefield][PATCH v2 2/2] gpio: Request interrupts after IRQ is initialized

Thank you,
Asmaa



More information about the kernel-team mailing list