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 subscribed to linux
in Ubuntu.
Matching subscriptions: Bgg, Bmail, Nb
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
Комментариев нет:
Отправить комментарий