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 D9054C6FD1D for ; Tue, 14 Mar 2023 23:47:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229473AbjCNXrc (ORCPT ); Tue, 14 Mar 2023 19:47:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229765AbjCNXr3 (ORCPT ); Tue, 14 Mar 2023 19:47:29 -0400 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 145124FF25 for ; Tue, 14 Mar 2023 16:46:58 -0700 (PDT) Received: by mail-ed1-x52d.google.com with SMTP id fd5so34979117edb.7 for ; Tue, 14 Mar 2023 16:46:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1678837603; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=uNuC5vuLHUrjsLAEtJntp1DYmMh0ryjDseFJIAEyVKE=; b=fj86/b+QJX0eaHl5Rf2NI7wju4JZEekApJhkEnDDd2K7sihxbIUjszlDhT+AsMLw1e kx3XCXeA0rf6zyj4upejQi1UxCHnslvakdvrJb7GQITW4j/E6Cwuu3Ki850TKDnl2s9c dY4HmgBlPcaD6LOz7nulnviuEodO7jdkewS5c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678837603; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uNuC5vuLHUrjsLAEtJntp1DYmMh0ryjDseFJIAEyVKE=; b=jvBCGRkxyggLgnN7kRGoiRpxFYKb3NS4DUpeyd8zbPJB/WdtbC3txFU8vty7ZtbGKJ B4l39jt1lGLEMcKgSOKATIGpC8fwHjvZhOR+K2fBXMfyBPUjOn4i2dqrem+aSY2lFi11 qaMsJdnd02bx0+pFIiFhtweYc0qgBUkNRaBQ0NoR2Ge+DceVR4YA240EOayhOKujkKyu e4+RQ2DB+Rioo+yIouPtpsJW1QG8QMXTOX8Lh2ByIYx7K6noFh4CnKUmOS3AfnRwgYmE GZ4RQhTiHoGXKqBH+cwXmjXbQ4/+drYEnR4/h5rTDFBYV07NcGHfRYibABxRLspkKDcq NSwg== X-Gm-Message-State: AO0yUKXELSeoZ24D14D00FjQdw2LuTxSDYvvnDSRLKiG8pW0DIbzADhJ S0dcJPzAb5OVLG2wD6Syn1Y4J5Pu16mzHzjVgKJc1w== X-Google-Smtp-Source: AK7set9nG9J8xNES8O8TbAZpLPwQmjtO8MCrMkKsmDHUvjKR/eroGOkFADZnjnxIv88iW/kfT6GByw== X-Received: by 2002:a17:907:8b9a:b0:8b2:c2fc:178e with SMTP id tb26-20020a1709078b9a00b008b2c2fc178emr4193739ejc.74.1678837602753; Tue, 14 Mar 2023 16:46:42 -0700 (PDT) Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com. [209.85.208.47]) by smtp.gmail.com with ESMTPSA id ke4-20020a17090798e400b0092153c6b549sm1723567ejc.22.2023.03.14.16.46.42 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Mar 2023 16:46:42 -0700 (PDT) Received: by mail-ed1-f47.google.com with SMTP id da10so68974044edb.3 for ; Tue, 14 Mar 2023 16:46:42 -0700 (PDT) X-Received: by 2002:a50:d506:0:b0:4fb:482b:f93d with SMTP id u6-20020a50d506000000b004fb482bf93dmr435862edi.2.1678837212326; Tue, 14 Mar 2023 16:40:12 -0700 (PDT) MIME-Version: 1.0 References: <20230314220757.3827941-1-dhowells@redhat.com> <20230314220757.3827941-4-dhowells@redhat.com> In-Reply-To: <20230314220757.3827941-4-dhowells@redhat.com> From: Linus Torvalds Date: Tue, 14 Mar 2023 16:39:55 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v18 03/15] shmem: Implement splice-read To: David Howells Cc: Jens Axboe , Al Viro , Christoph Hellwig , Matthew Wilcox , Jan Kara , Jeff Layton , David Hildenbrand , Jason Gunthorpe , Logan Gunthorpe , Hillf Danton , Christian Brauner , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Daniel Golle , Guenter Roeck , Christoph Hellwig , John Hubbard , Hugh Dickins Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 14, 2023 at 3:08=E2=80=AFPM David Howells = wrote: > \> +static size_t splice_zeropage_into_pipe(... > ... > + *buf =3D (struct pipe_buffer) { > + .ops =3D &zero_pipe_buf_ops, > + .page =3D ZERO_PAGE(0), > + .offset =3D offset, > + .len =3D size, > + }; > + get_page(buf->page); That + get_page(buf->page); is still there, and now it's doubly wrong because it's never dropped and will eventually overflow that count that shouldn't even be there. Linus