From: Fedor Pchelkin Date: Thu, 20 Jul 2023 15:37:51 +0000 (+0300) Subject: NFSv4/pnfs: minor fix for cleanup path in nfs4_get_device_info X-Git-Tag: microblaze-v6.8~583^2~13 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=96562c45af5c31b89a197af28f79bfa838fb8391;p=linux-2.6-microblaze.git 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 Reviewed-by: Benjamin Coddington Signed-off-by: Anna Schumaker --- diff --git a/fs/nfs/pnfs_dev.c b/fs/nfs/pnfs_dev.c index ddbbf4fcda86..178001c90156 100644 --- a/fs/nfs/pnfs_dev.c +++ b/fs/nfs/pnfs_dev.c @@ -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: