Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp5105215pxv; Wed, 28 Jul 2021 03:16:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxFoAJjhbgF4iCrzrlCL+osW8hAX6AJypi4lRW2QcmS8o2ifJTOtBI86vC0USmLyorDhpfk X-Received: by 2002:a05:6402:13c3:: with SMTP id a3mr32951081edx.187.1627467414387; Wed, 28 Jul 2021 03:16:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627467414; cv=none; d=google.com; s=arc-20160816; b=tjbAx5QY/mlaiV8v1N7VC7YZvE3MOoeZwnNltfxpnH5RPfJZBLXXn/DijUurtaKn4D PidUTTKmOrTIuS8Qpz7o3Cjs7SSTrTfo46w521tRi4ti9grKDnfV5wwVC1qMfs54fbmj cUzE0Lk3fUjw69wAteh+XcfkkyOgmYIaKLZ2qys3qER+M/HJdI1aGbBTlvb1743YwqZF QpdTJzFfMadFYFyZ01VTe0icgTlF4G3qv13LOZHqvMfBGDYoBxWwCDxaYocA6oh0xFOc t17cQcftmRMTnBPF/6up+yjlA7Qkb3zhfRbTIGICY74qX/PflNWzxEMLw7u2qals5VmY uZaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=owomBHkWFCxVDdi75BN8XN0gY0QWi1kqX4af5zcN4Fo=; b=NQEXBhQHjrHmWihwRc3cjpxnw5fpTS+t7kAUo8qbgMUeUkQ0HRto3PjjLjGC2+T3we W4PtV89d3Ks1eNATlPkrtPPH7Gzlj+757fpXBWaksCKsHeMPDo202mSTdOPipas71/5H bb8Jf+ZsofBSBGZaTXVatJ3mXUP0vPDqSr6xxxHI/WzRYwOfAXqj9MrrpGxzUKUGlwfR D9Irn80baJsV+AFolpW1N/813zcY6cKlP4HRWVACgnNDlCm9d4Gvu+dGQxd90Py2THng 3YLAwlideaMt0tZyUPHrQTanw3bCev5fYpq9bsIt/wyzNfWG6fOFYQf3u0SDcm9CXfbp 4dPQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h15si5101443ejj.98.2021.07.28.03.16.31; Wed, 28 Jul 2021 03:16:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231783AbhG1KPE (ORCPT + 99 others); Wed, 28 Jul 2021 06:15:04 -0400 Received: from jabberwock.ucw.cz ([46.255.230.98]:54838 "EHLO jabberwock.ucw.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231282AbhG1KPD (ORCPT ); Wed, 28 Jul 2021 06:15:03 -0400 Received: by jabberwock.ucw.cz (Postfix, from userid 1017) id 688A31C0B7C; Wed, 28 Jul 2021 12:15:01 +0200 (CEST) Date: Wed, 28 Jul 2021 12:15:00 +0200 From: Pavel Machek To: Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, Ronnie Sahlberg , Namjae Jeon , Steve French , Sasha Levin Subject: Re: [PATCH 5.10 103/167] cifs: only write 64kb at a time when fallocating a small region of a file Message-ID: <20210728101500.GC30574@amd> References: <20210726153839.371771838@linuxfoundation.org> <20210726153842.851690981@linuxfoundation.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="pAwQNkOnpTn9IO2O" Content-Disposition: inline In-Reply-To: <20210726153842.851690981@linuxfoundation.org> User-Agent: Mutt/1.5.23 (2014-03-12) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --pAwQNkOnpTn9IO2O Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi! > [ Upstream commit 2485bd7557a7edb4520b4072af464f0a08c8efe0 ] >=20 > We only allow sending single credit writes through the SMB2_write() synch= ronous > api so split this into smaller chunks. I'm not sure if this matters, but if len is ever zero, we'll return uninitialized value from the function. Best regards, Pavel > +++ b/fs/cifs/smb2ops.c > @@ -3466,7 +3466,7 @@ static int smb3_simple_fallocate_write_range(unsign= ed int xid, > char *buf) > { > struct cifs_io_parms io_parms =3D {0}; > - int nbytes; > + int rc, nbytes; > struct kvec iov[2]; > =20 > io_parms.netfid =3D cfile->fid.netfid; > @@ -3474,13 +3474,25 @@ static int smb3_simple_fallocate_write_range(unsi= gned int xid, > io_parms.tcon =3D tcon; > io_parms.persistent_fid =3D cfile->fid.persistent_fid; > io_parms.volatile_fid =3D cfile->fid.volatile_fid; > - io_parms.offset =3D off; > - io_parms.length =3D len; > =20 > - /* iov[0] is reserved for smb header */ > - iov[1].iov_base =3D buf; > - iov[1].iov_len =3D io_parms.length; > - return SMB2_write(xid, &io_parms, &nbytes, iov, 1); > + while (len) { > + io_parms.offset =3D off; > + io_parms.length =3D len; > + if (io_parms.length > SMB2_MAX_BUFFER_SIZE) > + io_parms.length =3D SMB2_MAX_BUFFER_SIZE; > + /* iov[0] is reserved for smb header */ > + iov[1].iov_base =3D buf; > + iov[1].iov_len =3D io_parms.length; > + rc =3D SMB2_write(xid, &io_parms, &nbytes, iov, 1); > + if (rc) > + break; > + if (nbytes > len) > + return -EINVAL; > + buf +=3D nbytes; > + off +=3D nbytes; > + len -=3D nbytes; > + } > + return rc; > } > =20 > static int smb3_simple_fallocate_range(unsigned int xid, --=20 DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany --pAwQNkOnpTn9IO2O Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAmEBLiQACgkQMOfwapXb+vKtgwCfaLJn28EwRPsIBgz2lNrVGS31 v5cAnisWdXnEltPKtPv9nW0M6dtlOZHB =OwWV -----END PGP SIGNATURE----- --pAwQNkOnpTn9IO2O--