Description
In the Linux kernel, the following vulnerability has been resolved: net: mana: Guard mana_remove against double invocation If PM resume fails (e.g., mana_attach() returns an error), mana_probe() calls mana_remove(), which tears down the device and sets gd->gdma_context = NULL and gd->driver_data = NULL. However, a failed resume callback does not automatically unbind the driver. When the device is eventually unbound, mana_remove() is invoked a second time. Without a NULL check, it dereferences gc->dev with gc == NULL, causing a kernel panic. Add an early return if gdma_context or driver_data is NULL so the second invocation is harmless. Move the dev = gc->dev assignment after the guard so it cannot dereference NULL.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
635096a86edb067d55a1e04b4a918f5c6dac0c51 to < f63a6d2e4167703611f5c2602eaa1a23f635430faffected635096a86edb067d55a1e04b4a918f5c6dac0c51 to < 793bf1f4e469c51d0e39199823da5e1de85a2741affected635096a86edb067d55a1e04b4a918f5c6dac0c51 to < 8ee85b75a72216c857c39457f6595709c4c9f856affected635096a86edb067d55a1e04b4a918f5c6dac0c51 to < a1ddfd2c0b7a48e5239fadd2a24cc4bc2cda90e6affected635096a86edb067d55a1e04b4a918f5c6dac0c51 to < bbe5c3c570645a4ceb120979d3ee203a1583d775affected635096a86edb067d55a1e04b4a918f5c6dac0c51 to < 50271d7ec95144d26808025b508f463780517d3caffected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 to ≤ 6.12.*unaffected6.18.33 to ≤ 6.18.*unaffected7.0.10 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/f63a6d2e4167703611f5c2602eaa1a23f635430f ↗
- https://git.kernel.org/stable/c/793bf1f4e469c51d0e39199823da5e1de85a2741 ↗
- https://git.kernel.org/stable/c/8ee85b75a72216c857c39457f6595709c4c9f856 ↗
- https://git.kernel.org/stable/c/a1ddfd2c0b7a48e5239fadd2a24cc4bc2cda90e6 ↗
- https://git.kernel.org/stable/c/bbe5c3c570645a4ceb120979d3ee203a1583d775 ↗
- https://git.kernel.org/stable/c/50271d7ec95144d26808025b508f463780517d3c ↗