Public bug reported:

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

** Affects: linux (Ubuntu)
     Importance: Undecided
     Assignee: Skipper Bug Screeners (skipper-screen-team)
         Status: New


** Tags: architecture-s39064 bugnameltc-172877 severity-high 
targetmilestone-inin---

** Tags added: architecture-s39064 bugnameltc-172877 severity-high
targetmilestone-inin---

** Changed in: ubuntu
     Assignee: (unassigned) => Skipper Bug Screeners (skipper-screen-team)

** Package changed: ubuntu => linux (Ubuntu)

-- 
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 linux package in Ubuntu:
  New

Bug description:
  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/+source/linux/+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