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 Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1801686

Title:
  [Ubuntu] qdio: reset old sbal_state flags

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1801686/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to