** Also affects: linux-bluefield (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Changed in: linux-bluefield (Ubuntu Focal)
   Importance: Undecided => Medium

** Changed in: linux-bluefield (Ubuntu Focal)
       Status: New => In Progress

** Changed in: linux-bluefield (Ubuntu Focal)
     Assignee: (unassigned) => Asmaa Mnebhi (asmaam)

** Changed in: linux-bluefield (Ubuntu)
       Status: New => Invalid

-- 
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:
  In Progress

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     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to