** Description changed:
+ SRU Justification:
+ ==================
+
+ [Impact]
+
+ * With zpci_disable() working, 'lockdep' detected a potential deadlock
+ (in the s390x zPCI subsystem).
+
+ * The deadlock is between recovering a PCI function via the
+ /sys/bus/pci/devices/<dev>/recover attribute vs powering it off via
+ /sys/bus/pci/slots/<slot>/power.
+
+ [Fix]
+
+ * Backport 1: https://launchpadlibrarian.net/479554961/0001-s390-pci-
+ Recover-handle-in-clp_set_pci_fn.patch
+
+ * Backport 2: https://launchpadlibrarian.net/478714295/0001-s390-pci-
+ Fix-possible-deadlock-in-recover_store.patch
+
+ [Test Case]
+
+ * It's best to (re-)test using the kernel's locking validator, also
+ known as 'lockdep'.
+
+ * Since this potential deadlock was identified by lockdep.
+
+ [Regression Potential]
+
+ * The regression potential can be considered as moderate, since:
+
+ * It is purely s390x specific code (arch/s390/include/asm/pci.h and
+ arch/s390/pci/{pci.c,pci_clp.c,pci_sysfs.c}).
+
+ * It only affects the zPCI, the s390x specific PCI code layer.
+
+ * PCI cards available for s390x are optional cards (RoCE and zEDC) and
+ not very wide-spread.
+
+ * The states between such a deadlock can happen (recover and power off)
+ are non standard and usually undesired states.
+
+ * The patches are upstream accepted since 5.6 and already landed in eoan
+ and focal.
+
+ [Other Info]
+
+ * Patches 17cdec960cf7 "s390/pci: Recover handle in clp_set_pci_fn()"
+ and 576c75e36c68 "s390/pci: Fix possible deadlock in recover_store()"
+ are upstream accepted since kernel 5.6, but they don't apply cleanly on
+ bionic master-next, hence backports are needed:
+
+ * 0001-s390-pci-Recover-handle-in-clp_set_pci_fn.patch is a backport of
+ 17cdec960cf776b20b1fb08c622221babe591d51 17cdec960cf7 "s390/pci: Recover
+ handle in clp_set_pci_fn()"
+
+ * 0001-s390-pci-Fix-possible-deadlock-in-recover_store.patch is a
+ backport of 576c75e36c689bec6a940e807bae27291ab0c0de 576c75e36c68
+ "s390/pci: Fix possible deadlock in recover_store()"
+
+ * Both patches/commits already landed in focal (with LP 1863768) and in eoan
(with LP 1868324).
+ __________
+
This Bug tracks the necessary backport for the Linux Kernel
to enable proper reset/recovery of PCI Functions in the error state.
There is a related fix to s390-tools but the relevant zpcictl command
is not part of Ubuntu 18.04
Upstream this includes the following commits:
In the Kernel:
17cdec960cf776b20b1fb08c622221babe591d51 s390/pci: Recover handle in
clp_set_pci_fn()
Backport patch attached.
-
576c75e36c689bec6a940e807bae27291ab0c0de s390/pci: Fix possible deadlock in
recover_store()
applies cleanly but for the second a small backport change is necessary.
These fixes are already in 20.04 but need also be applied to 18.04.
** Changed in: linux (Ubuntu Bionic)
Status: Confirmed => In Progress
** Changed in: ubuntu-z-systems
Status: Confirmed => In Progress
--
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/1870320
Title:
[UBUNTU 18.04] zpcictl --reset - contribution for kernel
Status in Ubuntu on IBM z Systems:
In Progress
Status in linux package in Ubuntu:
Fix Released
Status in linux source package in Bionic:
In Progress
Status in linux source package in Eoan:
Fix Released
Status in linux source package in Focal:
Fix Released
Status in linux source package in Groovy:
Fix Released
Bug description:
SRU Justification:
==================
[Impact]
* With zpci_disable() working, 'lockdep' detected a potential deadlock
(in the s390x zPCI subsystem).
* The deadlock is between recovering a PCI function via the
/sys/bus/pci/devices/<dev>/recover attribute vs powering it off via
/sys/bus/pci/slots/<slot>/power.
[Fix]
* Backport 1: https://launchpadlibrarian.net/479554961/0001-s390-pci-
Recover-handle-in-clp_set_pci_fn.patch
* Backport 2: https://launchpadlibrarian.net/478714295/0001-s390-pci-
Fix-possible-deadlock-in-recover_store.patch
[Test Case]
* It's best to (re-)test using the kernel's locking validator, also
known as 'lockdep'.
* Since this potential deadlock was identified by lockdep.
[Regression Potential]
* The regression potential can be considered as moderate, since:
* It is purely s390x specific code (arch/s390/include/asm/pci.h and
arch/s390/pci/{pci.c,pci_clp.c,pci_sysfs.c}).
* It only affects the zPCI, the s390x specific PCI code layer.
* PCI cards available for s390x are optional cards (RoCE and zEDC) and
not very wide-spread.
* The states between such a deadlock can happen (recover and power
off) are non standard and usually undesired states.
* The patches are upstream accepted since 5.6 and already landed in
eoan and focal.
[Other Info]
* Patches 17cdec960cf7 "s390/pci: Recover handle in clp_set_pci_fn()"
and 576c75e36c68 "s390/pci: Fix possible deadlock in recover_store()"
are upstream accepted since kernel 5.6, but they don't apply cleanly
on bionic master-next, hence backports are needed:
* 0001-s390-pci-Recover-handle-in-clp_set_pci_fn.patch is a backport
of 17cdec960cf776b20b1fb08c622221babe591d51 17cdec960cf7 "s390/pci:
Recover handle in clp_set_pci_fn()"
* 0001-s390-pci-Fix-possible-deadlock-in-recover_store.patch is a
backport of 576c75e36c689bec6a940e807bae27291ab0c0de 576c75e36c68
"s390/pci: Fix possible deadlock in recover_store()"
* Both patches/commits already landed in focal (with LP 1863768) and in eoan
(with LP 1868324).
__________
This Bug tracks the necessary backport for the Linux Kernel
to enable proper reset/recovery of PCI Functions in the error state.
There is a related fix to s390-tools but the relevant zpcictl command
is not part of Ubuntu 18.04
Upstream this includes the following commits:
In the Kernel:
17cdec960cf776b20b1fb08c622221babe591d51 s390/pci: Recover handle in
clp_set_pci_fn()
Backport patch attached.
576c75e36c689bec6a940e807bae27291ab0c0de s390/pci: Fix possible deadlock in
recover_store()
applies cleanly but for the second a small backport change is necessary.
These fixes are already in 20.04 but need also be applied to 18.04.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1870320/+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