qeth: don't clobber buffer on async TX completion
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
High
|
Canonical Kernel Team | ||
linux (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Unassigned | ||
Bionic |
Fix Released
|
High
|
Unassigned |
Bug Description
== SRU Justification ==
IBM is requesting this commit for s390. This fixes a bug introduced by
mainline commit 0da9581ddb0f. The symptom of the bug is Failing transmissions
on af_iucv HiperTransport socket.
Xenial also needs this patch, but it required a backport, so it will be
SRU'd separately.
== Fix ==
ce28867fd20c ("s390/qeth: don't clobber buffer on async TX completion")
== Regression Potential ==
Low. Limited to s390.
== Test Case ==
A test kernel was built with this patch and tested by the original bug reporter.
The bug reporter states the test kernel resolved the bug.
Description: qeth: don't clobber buffer on async TX completion
Symptom: Failing transmissions on af_iucv HiperTransport socket.
Problem: If qeth_qdio_
Later when the CQ indicates async completion of such a
data associated with this object (since HW has now completed
the transfer). By calling qeth_clear_
of the buffer's data, and failing transmits as the buffer
Solution: First only scrub the queue buffer when it is prepared
for re-use, and later obtain the data addresses from
the async-completion notifier (ie. the AOB), instead
of the queue buffer.
Reproduction: Heavy multi-connection workload on an af_iucv
Upstream-ID: ce28867fd20c23c
Kernel 4.18
Will be introduced with kernel 4.18 in Cosmic.
But should also be applied to Bionic and Xenial
CVE References
tags: | added: architecture-s39064 bugnameltc-170402 severity-high targetmilestone-inin1804 |
Changed in ubuntu: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
affects: | ubuntu → linux (Ubuntu) |
Changed in ubuntu-z-systems: | |
importance: | Undecided → High |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
status: | New → Triaged |
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in linux (Ubuntu Xenial): | |
status: | New → Triaged |
Changed in linux (Ubuntu Bionic): | |
status: | New → Triaged |
Changed in linux (Ubuntu Xenial): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Xenial): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu): | |
assignee: | Skipper Bug Screeners (skipper-screen-team) → Joseph Salisbury (jsalisbury) |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Xenial): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Bionic): | |
status: | Triaged → In Progress |
Changed in ubuntu-z-systems: | |
status: | Triaged → In Progress |
description: | updated |
Changed in linux (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Committed |
status: | Fix Committed → In Progress |
tags: |
added: verification-done verification-done-xenial removed: verification-needed-xenial |
Changed in linux (Ubuntu): | |
status: | Fix Committed → Fix Released |
Changed in ubuntu-z-systems: | |
status: | Fix Committed → Fix Released |
tags: | added: cscc |
I built xenial and bionic test kernels, both with commit ce28867fd20c. The test kernels can be downloaded from: kernel. ubuntu. com/~jsalisbury /lp1786057
http://
Can you test these kernels and see if they resolve this bug?
Note about installing test kernels: unsigned .deb packages.
* If the test kernel is prior to 4.15(Bionic) you need to install the linux-image and linux-image-extra .deb packages.
* If the test kernel is 4.15(Bionic) or newer, you need to install the linux-modules, linux-modules-extra and linux-image-
Thanks in advance!