Re: [PATCH] Fix for possible null pointer dereference in auth.c
From: Rickard Strandqvist <hidden>
Date: 2014-05-15 22:10:56
Also in:
linux-nfs, lkml
Hi I do not know, I'm not an expert on this code. But since there before was a if (cred) someone must have thought this could happen. Best regards Rickard Strandqvist 2014-05-16 0:07 GMT+02:00 Trond Myklebust [off-list ref]:
On Thu, May 15, 2014 at 5:56 PM, Rickard Strandqvist [off-list ref] wrote:quoted
There is otherwise a risk of a possible null pointer dereference. Was largely found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <redacted> --- net/sunrpc/auth.c | 10 +++++++--- 1 fil ändrad, 7 tillägg(+), 3 borttagningar(-)diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c index 5285ead..3a55698 100644 --- a/net/sunrpc/auth.c +++ b/net/sunrpc/auth.c@@ -801,10 +801,14 @@ rpcauth_invalcred(struct rpc_task *task) { struct rpc_cred *cred = task->tk_rqstp->rq_cred; - dprintk("RPC: %5u invalidating %s cred %p\n", - task->tk_pid, cred->cr_auth->au_ops->au_name, cred); - if (cred) + if (cred) { + dprintk("RPC: %5u invalidating %s cred %p\n", + task->tk_pid, cred->cr_auth->au_ops->au_name, cred); + clear_bit(RPCAUTH_CRED_UPTODATE, &cred->cr_flags); + } + else + dprintk("RPC: %5u invalidating is NULL\n", task->tk_pid); }Can you please explain how we can get to rpcauth_invalcred() without a valid cred pointer? I'm not seeing it... Cheers Trond