** Tags added: kernel-daily-bug
--
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/1984103
Title:
[UBUNTU 22.04] s390/qeth: cache link_info for ethtool
Status in Ubuntu on IBM z Systems:
Fix Released
Status in linux package in Ubuntu:
Fix Released
Status in linux source package in Jammy:
Fix Released
Status in linux source package in Kinetic:
Fix Released
Bug description:
== SRU Justification ==
Since commit e6e771b3d897 ("s390/qeth: detach netdevice while card is
offline") there was a timing window during recovery, that qeth_query_card_info
could be sent to the card, even before it was ready for it, leading to a
failing card recovery. There is evidence that this window was hit, as not
all callers of get_link_ksettings() check for netif_device_present.
This patch (Mainline commit 7a07a29e4f67) fixes the regression caused
by commit e6e771b3d897.
Commit 7a07a29e4f67 is in mainline as of v6.0-rc1.
This patch is being requested in Jammy 5.15 and Kinetic 5.19.
== Fix ==
7a07a29e4f67 ("s390/qeth: cache link_info for ethtool")
== Regression Potential ==
Low. This patch has been accepted in upstream stable and is limited to
the s390/qeth card.
== 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.
== Comment: #0 - J?rn Siglen <[email protected]> - 2022-08-09 07:38:27 ==
+++ This bug was initially created as a clone of Bug #199319 +++
Description: s390/qeth: cache link_info for ethtool
Symptom: lost of IP connection and log entries in journalctl:
kernel: qeth 0.0.0365: The qeth device driver failed to
recover an error on the device
Problem: Since commit e6e771b3d897
("s390/qeth: detach netdevice while card is offline")
there was a timing window during recovery, that
qeth_query_card_info could be sent to the card, even before it
was ready for it, leading to a failing card recovery. There is
evidence that this window was hit, as not all callers of
get_link_ksettings() check for netif_device_present.
Solution: Use cached values in qeth_get_link_ksettings(), instead of
calling qeth_query_card_info() and falling back to default
values in case it fails. Link info is already updated when the
card goes online, e.g. after STARTLAN (physical link up). Set
the link info to default values, when the card goes offline or
at STOPLAN (physical link down). A follow-on patch will improve
values reported for link down.
Fixes: e6e771b3d897
("s390/qeth: detach netdevice while card is offline")
Reproduction: enforce a eth device recvoery, while running ethtool multiple
times in parallel and using iperf to get load on the interface.
Upstream-ID: 7a07a29e4f6713b224f3bcde5f835e777301bdb8
https://lore.kernel.org/all/[email protected]/T/#m2e3799a38d1d4630822db50f9a5d9b2ca018252f
applicable for most kernel > 3.14
== Comment: #3 - J?rn Siglen <[email protected]> - 2022-08-09 07:54:41 ==
the inital update came in with kernel 5.1 upstream, but we found it
backported in many older kernel versions
== Comment: #4 - J?rn Siglen <[email protected]> - 2022-08-09 08:03:09 ==
the acceptance info of the patch can be found here:
https://lore.kernel.org/all/[email protected]/T/#m2e3799a38d1d4630822db50f9a5d9b2ca018252f
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1984103/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp