From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AAD85C433EF for ; Sat, 5 Feb 2022 20:07:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243653AbiBEUHE (ORCPT ); Sat, 5 Feb 2022 15:07:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36328 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241415AbiBEUHE (ORCPT ); Sat, 5 Feb 2022 15:07:04 -0500 Received: from fieldses.org (fieldses.org [IPv6:2600:3c00:e000:2f7::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4FC40C061348 for ; Sat, 5 Feb 2022 12:07:00 -0800 (PST) Received: by fieldses.org (Postfix, from userid 2815) id 63DA16090; Sat, 5 Feb 2022 15:06:59 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.11.0 fieldses.org 63DA16090 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fieldses.org; s=default; t=1644091619; bh=ssKO79FCJxXy/cXHiPB3a0WldTS4m/ijjegINeDmiHw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=i8lirWU7z3qrDC5hnoXGz7ALKzGa+c99ccGTKTyNYcKjMSmlZLZRm/sjVO7z5jpJh bwzYgMPRUay9n4jeuuT3djbWa6dm6O8Sby2O2m2QS8vszsFdR438xvGkssqQVuSUcy waxUEpXmlryn/oScVJTf+h2HzmgI1Gn+WHXpQhbY= Date: Sat, 5 Feb 2022 15:06:59 -0500 From: "J. Bruce Fields" To: Chuck Lever Cc: linux-nfs@vger.kernel.org Subject: Re: [PATCH] nfsv4.0/read: Test the behavior of reading near OFFSET_MAX Message-ID: <20220205200659.GA13548@fieldses.org> References: <164408072927.1028772.2263116854233914910.stgit@morisot.1015granger.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <164408072927.1028772.2263116854233914910.stgit@morisot.1015granger.net> User-Agent: Mutt/1.5.21 (2010-09-15) Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Applied, thanks!--b. On Sat, Feb 05, 2022 at 12:05:29PM -0500, Chuck Lever wrote: > On many systems, the internal representation of a file offset or > file size is a signed 64-bit value. NFS, however, uses an unsigned > value for these quantities. The server must convert incoming offsets > and file sizes properly or risk an underflow. > > Add a test which exercises this corner case. > > Signed-off-by: Chuck Lever > --- > nfs4.0/servertests/st_read.py | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/nfs4.0/servertests/st_read.py b/nfs4.0/servertests/st_read.py > index 1b27f5d06f2f..f75b753d61c7 100644 > --- a/nfs4.0/servertests/st_read.py > +++ b/nfs4.0/servertests/st_read.py > @@ -91,6 +91,18 @@ def testLargeOffset(t, env): > check(res, msg="Reading file /%s" % b'/'.join(env.opts.usefile)) > _compare(t, res, b'', True) > > +def testVeryLargeOffset(t, env): > + """READ with offset far outside file > + > + FLAGS: read all > + DEPEND: LOOKFILE > + CODE: RD5a > + """ > + c = env.c1 > + res = c.read_file(env.opts.usefile, 0x7ffffffffffffffc, 10) > + check(res, msg="Reading file /%s" % b'/'.join(env.opts.usefile)) > + _compare(t, res, b'', True) > + > def testZeroCount(t, env): > """READ with count=0 > >