CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM
authorRoberto Bergantinos Corpas <rbergant@redhat.com>
Tue, 28 May 2019 07:38:14 +0000 (09:38 +0200)
committerSteve French <stfrench@microsoft.com>
Wed, 29 May 2019 19:02:11 +0000 (14:02 -0500)
commit31fad7d41e73731f05b8053d17078638cf850fa6
treea3f2c3ddb1bc7355b7fb2c1769d1ff428acc489a
parent50fbc13dc12666f3604dc2555a47fc8c4e29162b
CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM

 In cifs_read_allocate_pages, in case of ENOMEM, we go through
whole rdata->pages array but we have failed the allocation before
nr_pages, therefore we may end up calling put_page with NULL
pointer, causing oops

Signed-off-by: Roberto Bergantinos Corpas <rbergant@redhat.com>
Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
CC: Stable <stable@vger.kernel.org>
fs/cifs/file.c