diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index bd9365d375f9d748d1b23ffecfbae602db5ccdfc..a0a61dc752afd3d4411b8e23f5cbab95fc873dcb 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -4243,6 +4243,11 @@ cifs_mount(struct cifs_sb_info *cifs_sb, struct smb_vol *volume_info) cifs_sb->wsize = server->ops->negotiate_wsize(tcon, volume_info); cifs_sb->rsize = server->ops->negotiate_rsize(tcon, volume_info); + if (cifs_sb->rsize == 0) { + cifs_dbg(VFS, "Negotiated rsize is 0, mount failed\n"); + rc = -EINVAL; + goto mount_fail_check; + } remote_path_check: #ifdef CONFIG_CIFS_DFS_UPCALL