NFSv4/pnfs: minor fix for cleanup path in nfs4_get_device_info

It is an almost improbable error case but when page allocating loop in
nfs4_get_device_info() fails then we should only free the already
allocated pages, as __free_page() can't deal with NULL arguments.

Found by Linux Verification Center (linuxtesting.org).

Cc: stable@vger.kernel.org
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
Fedor Pchelkin 2023-07-20 18:37:51 +03:00 committed by Anna Schumaker
parent 08be82ba0c
commit 96562c45af

View File

@ -154,7 +154,7 @@ nfs4_get_device_info(struct nfs_server *server,
set_bit(NFS_DEVICEID_NOCACHE, &d->flags);
out_free_pages:
for (i = 0; i < max_pages; i++)
while (--i >= 0)
__free_page(pages[i]);
kfree(pages);
out_free_pdev: