** Changed in: linux-bluefield (Ubuntu Focal)
Status: In Progress => Fix Committed
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-bluefield in Ubuntu.
https://bugs.launchpad.net/bugs/2007581
Title:
gpio: Restrict usage of GPIO chip irq members before initialization
Status in linux-bluefield package in Ubuntu:
Invalid
Status in linux-bluefield source package in Focal:
Fix Committed
Bug description:
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]
* Cherry pick: 5467801f1fcbdc46bc7298a84dbf3ca1ff2a7320 to fix the bug at
stake
* cherry-pick: 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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-bluefield/+bug/2007581/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp