Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a8f6b5e authored by Trond Myklebust's avatar Trond Myklebust Committed by Anna Schumaker
Browse files

SUNRPC: Ensure get_rpccred() and put_rpccred() can take NULL arguments

parent f538d0ba
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -202,6 +202,7 @@ char * rpcauth_stringify_acceptor(struct rpc_cred *);
static inline
struct rpc_cred *	get_rpccred(struct rpc_cred *cred)
{
	if (cred != NULL)
		atomic_inc(&cred->cr_count);
	return cred;
}
+3 −2
Original line number Diff line number Diff line
@@ -703,7 +703,6 @@ rpcauth_bindcred(struct rpc_task *task, struct rpc_cred *cred, int flags)
		new = rpcauth_bind_new_cred(task, lookupflags);
	if (IS_ERR(new))
		return PTR_ERR(new);
	if (req->rq_cred != NULL)
	put_rpccred(req->rq_cred);
	req->rq_cred = new;
	return 0;
@@ -712,6 +711,8 @@ rpcauth_bindcred(struct rpc_task *task, struct rpc_cred *cred, int flags)
void
put_rpccred(struct rpc_cred *cred)
{
	if (cred == NULL)
		return;
	/* Fast path for unhashed credentials */
	if (test_bit(RPCAUTH_CRED_HASHED, &cred->cr_flags) == 0) {
		if (atomic_dec_and_test(&cred->cr_count))