In the Linux kernel, the following vulnerability has been resolved: hwrng: core - fix rng list on registration error hwrng_register(rng) does the following: 1. Checks if rng has name and read methods set 2. Checks if the name already exists 3. Adds rng to global rng_list 4. May try to set rng to current_rng If step 4 fails, it returns an error. However, it does not remove the rng from rng_list, causing a dangling reference which can result in use-after-free if the caller frees rng, since registration failed. Add a list_del_init() cleanup step.
https://git.kernel.org/stable/c/de4f1bcb61a73cc896decdbd27d61a34add93b53
https://git.kernel.org/stable/c/cf293c9c7424de0d04b51367d07f40570ce80231
https://git.kernel.org/stable/c/bee8d1fcdc8f389b595b0a4cf6fe8440f499458a
https://git.kernel.org/stable/c/3a5834db2b1ce25649f330e78efe1ccde78967fd