You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hwrng: core - Always drop the RNG in hwrng_unregister()
enable_best_rng() is used in hwrng_unregister() to switch away from the
currently active RNG, if that is the one currently being removed.
However enable_best_rng() might fail, if the next RNG's init routine
fails. In that case enable_best_rng() will return an error code and
the currently active RNG will remain active.
After unregistering this might lead to crashes due to use-after-free.
Fix this by dropping the currently active RNG, if enable_best_rng()
failed. This will result in no RNG to be active, if the next-best
one failed to initialize.
This problem was introduced by 142a27f
Fixes: 142a27f ("hwrng: core - Reset user selected rng by...")
Reported-by: Wirz <[email protected]>
Tested-by: Wirz <[email protected]>
Signed-off-by: Michael Büsch <[email protected]>
Cc: [email protected]
Signed-off-by: Herbert Xu <[email protected]>
0 commit comments