Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

NFS: Fix error handling in __nfs_pageio_add_request

Handle the case where nfs_create_request() returns an error.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>

+6
+6
fs/nfs/pagelist.c
··· 947 947 subreq = nfs_create_request(req->wb_context, 948 948 req->wb_page, 949 949 subreq, pgbase, bytes_left); 950 + if (IS_ERR(subreq)) 951 + goto err_ptr; 950 952 nfs_lock_request(subreq); 951 953 subreq->wb_offset = offset; 952 954 subreq->wb_index = req->wb_index; ··· 957 955 958 956 nfs_page_group_unlock(req); 959 957 return 1; 958 + err_ptr: 959 + desc->pg_error = PTR_ERR(subreq); 960 + nfs_page_group_unlock(req); 961 + return 0; 960 962 } 961 963 962 964 static int nfs_do_recoalesce(struct nfs_pageio_descriptor *desc)