diff options
Diffstat (limited to 'net/core/skmsg.c')
| -rw-r--r-- | net/core/skmsg.c | 3 | 
1 files changed, 2 insertions, 1 deletions
| diff --git a/net/core/skmsg.c b/net/core/skmsg.c index fd20aae30be2..bbf40b999713 100644 --- a/net/core/skmsg.c +++ b/net/core/skmsg.c @@ -434,7 +434,8 @@ int sk_msg_recvmsg(struct sock *sk, struct sk_psock *psock, struct msghdr *msg,  			page = sg_page(sge);  			if (copied + copy > len)  				copy = len - copied; -			copy = copy_page_to_iter(page, sge->offset, copy, iter); +			if (copy) +				copy = copy_page_to_iter(page, sge->offset, copy, iter);  			if (!copy) {  				copied = copied ? copied : -EFAULT;  				goto out; |