This patch already exists in Xenial as 75443f02ecfdd7c8e998063f9371f046126a21d5 
which was part
of the update to 4.4.154
This patch already exists in Cosmic as 0f4772f38723c41bf79c8ca1f58a00723e900749 
which was part
of the update to 4.18.6


Marking both those releases as "Fixed release"

** Changed in: linux (Ubuntu Bionic)
       Status: New => Fix Committed

** Changed in: linux (Ubuntu Xenial)
       Status: New => Fix Committed

** Changed in: linux (Ubuntu Cosmic)
       Status: New => Fix Committed

-- 
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/1801686

Title:
  [Ubuntu] qdio: reset old sbal_state flags

Status in Ubuntu on IBM z Systems:
  Triaged
Status in linux package in Ubuntu:
  New
Status in linux source package in Xenial:
  Fix Committed
Status in linux source package in Bionic:
  Fix Committed
Status in linux source package in Cosmic:
  Fix Committed
Status in linux source package in Disco:
  New

Bug description:
  == SRU Justification ==

  Description: qdio: reset old sbal_state flags

  Symptom:
     af_iucv socket using HiperSockets may stall.
  Problem:
     When allocating a new AOB fails, handle_outbound() is
  still capable of transmitting the selected buffer
  (just without async completion).
  But if a previous transfer on this queue slot used
  async completion, its sbal_state flags field is still set
  to QDIO_OUTBUF_STATE_FLAG_PENDING.
  So when the upper layer driver sees this stale flag, it
  expects an async completion that never happens.
  Solution:
     Unconditionally clear the buffer's flags field.

  == Fix ==

  64e03ff72623b8c2ea89ca3cb660094e019ed4ae ("s390/qdio: reset old
  sbal_state flags")

  == Regression Potential ==

  Low, because:
  - s390x only
  - further limited to qeth driver (OSA Express networking)
  - changes are limited to two files and 6 lines
     - arch/s390/include/asm/qdio.h b/arch/s390/include/asm/qdio.h
     - drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c
  - error was identified at IBM/customer, fix was created there and tested 
upfront
  - (changes are upstream in 4.20 (according to bug description,
     but in 4.19 according to 'git tag'),
     hence will make it automatically into 'disco')

  == Test Case ==

  Test case / reproduction:
  Error inject and then simulate out-of-memory situation.

  __________

  Description:  qdio: reset old sbal_state flags

  Symptom:      af_iucv socket using HiperSockets may stall.

  Problem:      When allocating a new AOB fails, handle_outbound() is
                still capable of transmitting the selected buffer
                (just without async completion).
                But if a previous transfer on this queue slot used
                async completion, its sbal_state flags field is still set
                to QDIO_OUTBUF_STATE_FLAG_PENDING.
                So when the upper layer driver sees this stale flag, it
                expects an async completion that never happens.

  Solution:     Unconditionally clear the buffer's flags field.

  Reproduction: Error inject, simulating out-of-memory.

  kernel 4.20
  Upstream-ID:  64e03ff72623b8c2ea89ca3cb660094e019ed4ae

  Canonical , please provide this fix for all Releases in Service....
  Ubuntu 18.10, 18.04 and 16.04

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