From: Trond Myklebust Date: Fri, 19 Mar 2010 19:36:22 +0000 (-0400) Subject: SUNRPC: Fix a potential memory leak in auth_gss X-Git-Tag: firefly_0821_release~10186^2~1953 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ea374cba047ddb056ca4b4f8813282ad7642201e;p=firefly-linux-kernel-4.4.55.git SUNRPC: Fix a potential memory leak in auth_gss commit cdead7cf12896c0e50a8be2e52de52c364603095 upstream. The function alloc_enc_pages() currently fails to release the pointer rqstp->rq_enc_pages in the error path. Signed-off-by: Trond Myklebust Acked-by: J. Bruce Fields Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index 9c5a19d9dbce..2370ab49dd4b 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c @@ -1273,9 +1273,8 @@ alloc_enc_pages(struct rpc_rqst *rqstp) rqstp->rq_release_snd_buf = priv_release_snd_buf; return 0; out_free: - for (i--; i >= 0; i--) { - __free_page(rqstp->rq_enc_pages[i]); - } + rqstp->rq_enc_pages_num = i; + priv_release_snd_buf(rqstp); out: return -EAGAIN; }