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...
https://git.kernel.org/stable/c/e201c57073e624dd2ba5beaf9eda31e19b77b332
https://git.kernel.org/stable/c/d90df5ce6deb2424de3ad89bcc693ac1b67accc9
https://git.kernel.org/stable/c/b89769f936a8fa9e66de72ddc1b71a9745a488e6