nvdimm: Fix firmware activation deadlock scenarios
Description
In the Linux kernel, the following vulnerability has been resolved:
nvdimm: Fix firmware activation deadlock scenarios
Lockdep reports the following deadlock scenarios for CXL root device power-management, device_prepare(), operations, and device_shutdown() operations for 'nd_region' devices:
Chain exists of: &nvdimm_region_key --> &nvdimm_bus->reconfig_mutex --> system_transition_mutex
Possible unsafe locking scenario:
CPU0 CPU1 ---- ---- lock(system_transition_mutex); lock(&nvdimm_bus->reconfig_mutex); lock(system_transition_mutex); lock(&nvdimm_region_key);
Chain exists of: &cxl_nvdimm_bridge_key --> acpi_scan_lock --> &cxl_root_key
Possible unsafe locking scenario:
CPU0 CPU1 ---- ---- lock(&cxl_root_key); lock(acpi_scan_lock); lock(&cxl_root_key); lock(&cxl_nvdimm_bridge_key);
These stem from holding nvdimm_bus_lock() over hibernate_quiet_exec() which walks the entire system device topology taking device_lock() along the way. The nvdimm_bus_lock() is protecting against unregistration, multiple simultaneous ops callers, and preventing activate_show() from racing activate_store(). For the first 2, the lock is redundant. Unregistration already flushes all ops users, and sysfs already prevents multiple threads to be active in an ops handler at the same time. For the last userspace should already be waiting for its last activate_store() to complete, and does not need activate_show() to flush the write side, so this lock usage can be deleted in these attributes.
Affected products
80- osv-coords78 versionspkg:rpm/suse/kernel-64kb&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.1pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.2pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP3pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP3pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP3pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.1pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.2pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP3pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-docs&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP3pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-livepatch-SLE15-SP3_Update_56&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP3pkg:rpm/suse/kernel-livepatch-SLE15-SP5_Update_25&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP5pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP3pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-preempt&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/kernel-preempt&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/kernel-preempt&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/kernel-preempt&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP3pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.1pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.2pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-source&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP3pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.1pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.2pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Enterprise%20Micro%205.5pkg:rpm/suse/kernel-syms&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP3pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSS
< 5.3.18-150300.59.201.1+ 77 more
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1.150300.18.120.1
- (no CPE)range: < 5.3.18-150300.59.201.1.150300.18.120.1
- (no CPE)range: < 5.14.21-150500.55.100.1.150500.6.47.1
- (no CPE)range: < 5.14.21-150500.55.100.1.150500.6.47.1
- (no CPE)range: < 5.3.18-150300.59.201.1.150300.18.120.1
- (no CPE)range: < 5.3.18-150300.59.201.1.150300.18.120.1
- (no CPE)range: < 5.14.21-150500.55.100.1.150500.6.47.1
- (no CPE)range: < 5.3.18-150300.59.201.1.150300.18.120.1
- (no CPE)range: < 5.14.21-150500.55.100.1.150500.6.47.1
- (no CPE)range: < 5.3.18-150300.59.201.1.150300.18.120.1
- (no CPE)range: < 5.14.21-150500.55.100.1.150500.6.47.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 1-150300.7.3.1
- (no CPE)range: < 1-150500.11.3.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.205.1
- (no CPE)range: < 5.3.18-150300.205.1
- (no CPE)range: < 5.14.21-150500.13.91.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.205.1
- (no CPE)range: < 5.3.18-150300.205.1
- (no CPE)range: < 5.14.21-150500.13.91.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
- (no CPE)range: < 5.3.18-150300.59.201.1
- (no CPE)range: < 5.14.21-150500.55.100.1
Patches
Vulnerability mechanics
References
5- git.kernel.org/stable/c/2f97ebc58d5fc83ca1528cd553fa725472ab3ca8mitre
- git.kernel.org/stable/c/2fd853fdb40afc052de338693df1372f2ead7be7mitre
- git.kernel.org/stable/c/641649f31e20df630310f5c22f26c071acc676d4mitre
- git.kernel.org/stable/c/ceb924ee16b2c8e48dcac3d9ad6be01c40b5a228mitre
- git.kernel.org/stable/c/e6829d1bd3c4b58296ee9e412f7ed4d6cb390192mitre
News mentions
0No linked articles in our index yet.