diff --git a/fs/smb/client/transport.c b/fs/smb/client/transport.c index 60699d2799fb..d0d0159c1061 100644 --- a/fs/smb/client/transport.c +++ b/fs/smb/client/transport.c @@ -1345,6 +1345,8 @@ cifs_readv_receive(struct TCP_Server_Info *server, struct mid_q_entry *mid) #endif length = cifs_read_iter_from_socket(server, &rdata->subreq.io_iter, data_len); + if (length < 0) + return length; if (length > 0) rdata->got_bytes += length; server->total_read += length;