SUNRPC: Fix loop termination condition in gss_free_in_token_pages()
BugLink: https://bugs.launchpad.net/bugs/2073603 commit 4a77c3dead97339478c7422eb07bf4bf63577008 upstream. The in_token->pages[] array is not NULL terminated. This results in the following KASAN splat: KASAN: maybe wild-memory-access in range [0x04a2013400000008-0x04a201340000000f] Fixes: bafa6b4d95d9 ("SUNRPC: Fix gss_free_in_token_pages()") Reviewed-by: Benjamin Coddington <bcodding@redhat.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Portia Stephens <portia.stephens@canonical.com> Signed-off-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
This commit is contained in:
committed by
Roxana Nicolescu
parent
ca95a7473c
commit
691edf514b
@@ -1069,7 +1069,7 @@ static int gss_read_proxy_verf(struct svc_rqst *rqstp,
|
||||
goto out_denied_free;
|
||||
|
||||
pages = DIV_ROUND_UP(inlen, PAGE_SIZE);
|
||||
in_token->pages = kcalloc(pages, sizeof(struct page *), GFP_KERNEL);
|
||||
in_token->pages = kcalloc(pages + 1, sizeof(struct page *), GFP_KERNEL);
|
||||
if (!in_token->pages)
|
||||
goto out_denied_free;
|
||||
in_token->page_base = 0;
|
||||
|
||||
Reference in New Issue
Block a user