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

Stefan Bader stefan.bader at canonical.com
Tue Feb 28 08:31:23 UTC 2023


On 27.02.23 22:24, Asmaa Mnebhi wrote:
> 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
> 

You might have sent them but between different versions and not having 
suppressed-cc which in turn made me reject some of them due to "too many 
receipients" (there was maybe one other error but I forgot, you should 
have gotten reject messages), the archive shows them as not present:

https://lists.ubuntu.com/archives/kernel-team/2023-February/thread.html

You have to re-send and best check before with a dry run that things do 
not go where they should not go.

-Stefan

> Thank you,
> Asmaa
> 

-- 
- Stefan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 44613 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20230228/43bf486c/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20230228/43bf486c/attachment-0001.sig>


More information about the kernel-team mailing list