Description
In the Linux kernel, the following vulnerability has been resolved: net: psp: check for device unregister when creating assoc psp_assoc_device_get_locked() obtains a psp_dev reference via psp_dev_get_for_sock() (which uses psp_dev_tryget() under RCU); it then acquires psd->lock and drops the reference. Before the lock is taken, psp_dev_unregister() can run to completion: take psd->lock, clear out state, unlock, drop the registration reference. The expectation is that the lock prevents device unregistration, but much like with netdevs special care has to be taken when "upgrading" a reference to a locked device. Add the missing check if device is still alive. psp_dev_is_registered() exists already but had no callers, which makes me wonder if I either forgot to add this or lost the check during refactoring...
Affected products
- Linux / Linux6b46ca260e2290e3453d1355ab5b6d283d73d780 – d90df5ce6deb2424de3ad89bcc693ac1b67accc9
- Linux / Linux6b46ca260e2290e3453d1355ab5b6d283d73d780 – e201c57073e624dd2ba5beaf9eda31e19b77b332
- Linux / Linux6b46ca260e2290e3453d1355ab5b6d283d73d780 – b89769f936a8fa9e66de72ddc1b71a9745a488e6
- Linux / Linux6.18 – 6.18
- Linux / Linux0 – 6.18
- Linux / Linux6.18.33 – 6.18.*
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *