Description
In the Linux kernel, the following vulnerability has been resolved: phy: ti: tusb1210: Resolve charger-det crash if charger psy is unregistered The power_supply frame-work is not really designed for there to be long living in kernel references to power_supply devices. Specifically unregistering a power_supply while some other code has a reference to it triggers a WARN in power_supply_unregister(): WARN_ON(atomic_dec_return(&psy->use_cnt)); Folllowed by the power_supply still getting removed and the backing data freed anyway, leaving the tusb1210 charger-detect code with a dangling reference, resulting in a crash the next time tusb1210_get_online() is called. Fix this by only holding the reference in tusb1210_get_online() freeing it at the end of the function. Note this still leaves a theoretical race window, but it avoids the issue when manually rmmod-ing the charger chip driver during development.
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
48969a5623ed918713552e2b4f9d391c89b5e838 to < 25b3498485ac281e5851700e33b97f12c9533fd8affected48969a5623ed918713552e2b4f9d391c89b5e838 to < 73224a5d2180066c7fe05b4656647601ba08d588affected48969a5623ed918713552e2b4f9d391c89b5e838 to < 9827caa5105fb16d1fae2e75c8d0e4662014b3caaffected48969a5623ed918713552e2b4f9d391c89b5e838 to < bf6e4ee5c43690e4c5a8a057bbcd4ff986bed052affected
Linux Linux
Default version status: affected
5.18affected0 to < 5.18unaffected6.1.90 to ≤ 6.1.*unaffected6.6.30 to ≤ 6.6.*unaffected6.8.9 to ≤ 6.8.*unaffected6.9 to ≤ *unaffected