** Changed in: ubuntu-z-systems
       Status: Triaged => In Progress

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1800641

Title:
  [Ubuntu] qeth: Fix potential array overrun in cmd/rc lookup

Status in Ubuntu on IBM z Systems:
  In Progress
Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Xenial:
  In Progress
Status in linux source package in Bionic:
  In Progress
Status in linux source package in Cosmic:
  In Progress

Bug description:
  
  == SRU Justification ==
  IBM is requesting these commits in s390 for X, B and C.  The bug
  description the commits fix is as follows:

  Description: qeth: Fix potential array overrun in cmd/rc lookup Symptom:
  Infinite loop when processing a received cmd.
  Problem: qeth_get_ipa_cmd_name() and qeth_get_ipa_msg() are used to build
  human-readable messages for received cmd data.


  == Fixes ==
  065a2cdcbdf8 ("s390: qeth_core_mpc: Use ARRAY_SIZE instead of reimplementing 
its function")
  048a7f8b4ec0 ("s390: qeth: Fix potential array overrun in cmd/rc lookup")

  == Regression Potential ==
  Low.  Limited to s390.

  == Test Case ==
  A test kernel was built with these two patches and tested by IBM.
  The bug reporter states the test kernel resolved the bug.



  Description:  qeth: Fix potential array overrun in cmd/rc lookup
  Symptom:      Infinite loop when processing a received cmd.
  Problem:      qeth_get_ipa_cmd_name() and qeth_get_ipa_msg() are used
                to build human-readable messages for received cmd data.

                They store the to-be translated value in the last entry of a
                global array, and then iterate over each entry until they found
                the queried value (and the corresponding message string).
                If there is no prior match, the lookup is intended to stop at
                the final entry (which was previously prepared).

                If two qeth devices are concurrently processing a received cmd,
                one lookup can over-write the last entry of the global array
                while a second lookup is in process. This second lookup will 
then
                never hit its stop-condition, and loop.
  Solution:     Remove the modification of the global array, and limit the 
number
                of iterations to the size of the array.

  Upstream-ID: kernel 4.19
  - 065a2cdcbdf8eb9aefb66e1a24b2d684b8b8852b
  - 048a7f8b4ec085d5c56ad4a3bf450389a4aed5f9

  Should also be applied, to all other Ubuntu Releases in the field !

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1800641/+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