6.13-stable review patch. If anyone has any objections, please let me know.
------------------
From: Herbert Xu herbert@gondor.apana.org.au
[ Upstream commit e04918dc594669068f5d59d567d08db531167188 ]
Fix RCU warnings in override_creds and revert_creds by turning the RCU pointer into a normal pointer using rcu_replace_pointer.
These warnings were previously private to the cred code, but due to the move into the header file they are now polluting unrelated subsystems.
Fixes: 49dffdfde462 ("cred: Add a light version of override/revert_creds()") Signed-off-by: Herbert Xu herbert@gondor.apana.org.au Link: https://lore.kernel.org/r/Z8QGQGW0IaSklKG7@gondor.apana.org.au Signed-off-by: Christian Brauner brauner@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org --- include/linux/cred.h | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/include/linux/cred.h b/include/linux/cred.h index 382768a9707b5..1e1ec8834e454 100644 --- a/include/linux/cred.h +++ b/include/linux/cred.h @@ -179,18 +179,12 @@ static inline bool cap_ambient_invariant_ok(const struct cred *cred) */ static inline const struct cred *override_creds_light(const struct cred *override_cred) { - const struct cred *old = current->cred; - - rcu_assign_pointer(current->cred, override_cred); - return old; + return rcu_replace_pointer(current->cred, override_cred, 1); }
static inline const struct cred *revert_creds_light(const struct cred *revert_cred) { - const struct cred *override_cred = current->cred; - - rcu_assign_pointer(current->cred, revert_cred); - return override_cred; + return rcu_replace_pointer(current->cred, revert_cred, 1); }
/**