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 897CAC636CC for ; Mon, 13 Feb 2023 08:22:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229990AbjBMIWy (ORCPT ); Mon, 13 Feb 2023 03:22:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36026 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229854AbjBMIWu (ORCPT ); Mon, 13 Feb 2023 03:22:50 -0500 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D7E32D51F; Mon, 13 Feb 2023 00:22:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Transfer-Encoding :Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=mQA/TMoqGXtzaC3xl5xqOmLbaTvrl04Kg+nkMyx7H6o=; b=myKwfl24JBnnudqvTZWtxcOoM7 vSYq9vFkJ6kLpTtn34g7Zd6tKdd+GZxaccqbhIP3MKORXGysgWarLaZqld2FaU2px9GtU7DwAVWRb RSSz9Dc/bFMeFNpohNDcmrffxwAA9f0HQp5WRChtNR3cLbjR8Gx2sOn+uzo42IBATYhwi2JGWni+4 TevkWhFX3zbzw1GvT/L2V2ei8t/Fmd+aUtJtHjpk1Dt4bjReVoKee2JUtMuQzZX5KozrtEngJx76l iI6pjlfh6OYrle1Ml0EonQvRBLd2gG9fQc6hpn0b9jk+Cf/bsQtpRQxy7UfLKKBNxyzBivUhch/2F S0CT16qQ==; Received: from hch by bombadil.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pRU6N-00DZfL-En; Mon, 13 Feb 2023 08:22:19 +0000 Date: Mon, 13 Feb 2023 00:22:19 -0800 From: Christoph Hellwig To: David Howells Cc: Matthew Wilcox , Jens Axboe , Al Viro , Christoph Hellwig , Jan Kara , Jeff Layton , David Hildenbrand , Jason Gunthorpe , Logan Gunthorpe , Hillf Danton , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, syzbot+a440341a59e3b7142895@syzkaller.appspotmail.com, Christoph Hellwig , John Hubbard Subject: Re: [PATCH v14 01/12] splice: Fix O_DIRECT file read splice to avoid reversion of ITER_PIPE Message-ID: References: <20230209102954.528942-1-dhowells@redhat.com> <20230209102954.528942-2-dhowells@redhat.com> <909202.1675959337@warthog.procyon.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <909202.1675959337@warthog.procyon.org.uk> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > + if (!bv) > + return -ENOMEM; > + > + pages = (void *)(bv + npages); I think this cast should be to struct page **… not void *. > + npages = alloc_pages_bulk_array(GFP_USER, npages, pages); > + if (!npages) { > + kfree(bv); > + return -ENOMEM; > + } > + reclaim = npages * PAGE_SIZE; > + remain = 0; > + if (ret > 0) { > + reclaim -= ret; > + remain = ret; ... > + /* Free any pages that didn't get touched at all. */ > + reclaim /= PAGE_SIZE; Any reason not to keep reclaim in PAGE_SIZE units to start with?