** Description changed:

+ == 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
+ - 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'
+ - error was identified at IBM/customer, fix was created there and tested 
upfront
+ 
+ == 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.
+               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

** Description changed:

  == SRU Justification ==
  
  Description: qdio: reset old sbal_state flags
  
  Symptom:
-    af_iucv socket using HiperSockets may stall.
+    af_iucv socket using HiperSockets may stall.
  Problem:
-    When allocating a new AOB fails, handle_outbound() is
+    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.
+    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
- - 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'
+    - 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

-- 
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:
  New
Status in linux package in Ubuntu:
  New
Status in linux source package in Xenial:
  New
Status in linux source package in Bionic:
  New
Status in linux source package in Cosmic:
  New
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