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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 78903C7EE2E for ; Tue, 13 Jun 2023 07:31:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D1F288E0006; Tue, 13 Jun 2023 03:31:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CA64F8E0002; Tue, 13 Jun 2023 03:31:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B20B18E0006; Tue, 13 Jun 2023 03:31:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 9B9FF8E0002 for ; Tue, 13 Jun 2023 03:31:09 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 6FB881603E4 for ; Tue, 13 Jun 2023 07:31:09 +0000 (UTC) X-FDA: 80896903458.09.210CF36 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf13.hostedemail.com (Postfix) with ESMTP id D264E20021 for ; Tue, 13 Jun 2023 07:31:05 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=NU7xXNM+; spf=pass (imf13.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686641466; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=a0vScxj5YMa+K+40jeVOVL1oOtwkyiQd/IWuuzvGGDI=; b=oNJ5EuZjCCE8tLiH0guy//rAZqcnLefJsyCuxDiQ1iLZXIKXc/QjYs7CdiQ3l7W/9LF5zG gnFqVpVUVSb9o65Br0tvOPNrljMcbuu76GiNBN5kX/IiY+BgYO64Yw//5JhZB51BKwtVjc gW6PhEcoGlC6neWDjjCRdLxr3kxhY3o= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686641466; a=rsa-sha256; cv=none; b=6Vs4h66ey43wx/I7H36rSCLhz7SOtFjQlk82o+L1J/NnelVmTtbgU8Hk/lYVEDTcRl5bmr npjckXsQEFBpDjxtmXsBcqhLZ0EUVuJeqjb6SlR9orNgT+lpl+VHAx/jd3g5mplfWODBeQ EKBof79vtaonx7THKG6wwFkvqO8LyKA= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=NU7xXNM+; spf=pass (imf13.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1686641465; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=a0vScxj5YMa+K+40jeVOVL1oOtwkyiQd/IWuuzvGGDI=; b=NU7xXNM+Kh3r9AbfNCAavZZ1raVsIJXeygQOLI1Rv+faHS0DLwfpPTc5ky93yZ3l0y+hok P7ThNoqOTZqLfMxKAFlvo7m1qphcps+1XGjADRJny2OgyqqDQYpNyY0HHKOkPSHWqU5x6M YrHqN7Ekdj4kB+VKmSIlIypGOGfFiUY= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-479-z_mXmoEbPY6E2D17iMqWwg-1; Tue, 13 Jun 2023 03:31:04 -0400 X-MC-Unique: z_mXmoEbPY6E2D17iMqWwg-1 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-30c5d31b567so1987643f8f.2 for ; Tue, 13 Jun 2023 00:31:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686641463; x=1689233463; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=a0vScxj5YMa+K+40jeVOVL1oOtwkyiQd/IWuuzvGGDI=; b=INXH/Xl6/D/3sFFINhlWySopZ+4tEIAbdY03Cinb4eqG9R7M1E6jF222cgOJVr+3y9 YSu9potFYJXRMzrYNiWvCelIWRiR6JIcPZUSWqaolv3ijTq3tv5lYBtuZEoU8ZeJBcfe 1DFVqM+Oed3V6uRED76IhszUFh3lgHxiJ6VYtlFtVuQ67kPiaIv1+rQEoURfa7Jhmypo mMDqLywFZ5jG7J3nmxAlWTultRpPjtzMpnOJgHzeRbmpfCkxCbt1OlNqxpqEaxpA4Orz JqPWly+hDolMZA5BiS8xJk0LCW4hmtk27tKnG7JJyMTq1h2xgDLcEcgoNP2n2YJhKEnD zhWw== X-Gm-Message-State: AC+VfDyvByQ4ATMO2oNUlF74TlXAfxGjsybAyvG8rhU08AwB28WbJH9w 0g5egsMCCo+n3R96i9ldQoJnY5Z05BdUYNM2Tst8cnZPmwZBtvehsvpo88bTPJ/suwKuSDYkl57 LhWaECheLs8k= X-Received: by 2002:adf:f042:0:b0:30f:cf6b:4982 with SMTP id t2-20020adff042000000b0030fcf6b4982mr261178wro.62.1686641462575; Tue, 13 Jun 2023 00:31:02 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5CTFZVdIdiMBJTa4yPNgw1OdLhPXmCNTDxDHv57xIkOk0hRvQBsdz1yvdn7YhXRQMeaWwtxg== X-Received: by 2002:adf:f042:0:b0:30f:cf6b:4982 with SMTP id t2-20020adff042000000b0030fcf6b4982mr261154wro.62.1686641462242; Tue, 13 Jun 2023 00:31:02 -0700 (PDT) Received: from ?IPV6:2003:cb:c710:ff00:1a06:80f:733a:e8c6? (p200300cbc710ff001a06080f733ae8c6.dip0.t-ipconnect.de. [2003:cb:c710:ff00:1a06:80f:733a:e8c6]) by smtp.gmail.com with ESMTPSA id b10-20020adfe30a000000b00300aee6c9cesm14561038wrj.20.2023.06.13.00.31.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 13 Jun 2023 00:31:01 -0700 (PDT) Message-ID: <5aed54c8-45e3-e05e-ccfd-a177df41c4a9@redhat.com> Date: Tue, 13 Jun 2023 09:31:00 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH v2] block: Fix dio_bio_alloc() to set BIO_PAGE_PINNED To: David Howells , Jens Axboe , kernel test robot Cc: Christoph Hellwig , Andrew Morton , Al Viro , Matthew Wilcox , Jan Kara , Jeff Layton , Jason Gunthorpe , Logan Gunthorpe , Hillf Danton , Christian Brauner , Lorenzo Stoakes , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-mm@kvack.org, oe-lkp@lists.linux.dev, lkp@intel.com, linux-kernel@vger.kernel.org References: <545463.1686601473@warthog.procyon.org.uk> From: David Hildenbrand Organization: Red Hat In-Reply-To: <545463.1686601473@warthog.procyon.org.uk> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: D264E20021 X-Rspam-User: X-Stat-Signature: q8s9gtn1ayrmdajibwzifxnc9g6jkyue X-Rspamd-Server: rspam03 X-HE-Tag: 1686641465-587420 X-HE-Meta: U2FsdGVkX19VHAH2dZWH5GijlBHMqoOOPDTkln6pOEQZcWp8lj/cVmJRS6gBgVapQrOEJB6w4VzaaPSjLabrJUYMEP7siWTAPOeN5OA+rheu+354H6cxFkMhbJtXMhto0mggGecNLg4L6LD2re9NpFDsd+tTIl4ixW4K02uOpVdob3Wf20vhDN8sLb/vdPvp1RPbnXbU0XLvdiNZu/k1Bx3e9ANdEGZS3L9mnvGliA4qEcuinLD0JRzpETdoY6yYPzlhdUPdclVXXjbLCOKoR16bOK3kePRl6jgPFvz8j8u6XG58ehoPGMpbEiM+3CUDzh94KCRjVlmOXqZq2UnmH9N8OAkFT2rkvhyzIs+a1pVIYS9+vJDIS3e4Kz8Dt2j4nVsHe2kPW7SX998+9/KzkrgagHG1fveeq8SisGdMk0HFQjL6RHRRhpcVpJUkPHuSRNY5nDRVcoooM4yTVztSbRqUHN4LRlMJhcyYw6oKstPQroyVVwHkeaHpniXcf9mTNFHqDVdEjXM4WECuMtp4bfDTuDoCzqHQIB/lDCl3hHHr3RtaFVddamD6RQLrXUD92h3Zd6xxBeR/BGXFkxh86glb5V+YBXfggygucQXUu/0TdWBxg+ZoxWjXqZ8B6v7qG49SyGcuBb9JFomPoJ6wSQbJTvcIhRukU961J7e7OVlbG7JFsNkTyaOd/GH4YjR7fbj6y26wIc3BEKNUaB5HDlPVsq1hsnMQXCi5UENGa5PZQESAsgNph0Kf4bBtP5E7byI+hb83S9jr0ZkkKQosdIVwdRRGEoqjWRUt50VLS++l/3MTsAIQFyd6Y11GB8r+jTQhD1iANRqoBPCYWRYT2+R645BCjlN6YhlPelV0BAPUdvtwHGsecj8zwX1R8BZ41dmo+eapAIPhqiyJqfSIG2SeahKnhX0LBQcU2zAraF0N4CjPTnEw5cp7m4294BlZT/ozd6RGrBqs7vBAmPW qtB9PHHY K/NRiEpbx2AEYp5muqO2qgA4ZM868uEJ+km53VSGj7f6JT9NmNTsXQML2EnlgcH8LXSyVPUThr6l21gDWi3xVYiRXnTdnxjleoYSVKJ/zMGwdO1bKObqWQSx2hNUk0pKMszR3SnL/9Mhiu41ceHzCQbdlLC7/QXC+ZSXerKLcnfz04+9Y2ZJbUYrfNr+t/x6/be9A+Ui/lg4VPUo0Dw5FKEnnQTjpJGPJFG6AUIzbKf2G7Pe1zqwnzS3on6WFHqR1HaEmgaqGi5G0pwWUAAux7YzXD8vMDsENp2cQJWGBQXSP3U3YPXQcp4h3eCHttsuEH+v3DSHnimTm96aHb18YsmJ07Fzx4E6RwYVA0a2yybfLGBKqnhFbuBgm3LbU0Gk/YBPRCdFawcAwo8MSWgKmBO1rX8I0B41kPw/fUHyVgNu7Pci9uvXeSiJ33NOp61PtHYmdjIm4OSAtob7irxN5QTfWuh73H7sfQPpQT259ByJVoB+UKmF6nQy07PkWEzpGXmm8kAp73JXRxt4IET6Y5PMOvCpJrdRAeVl/FSLMOenf0C0bK/K+ocemPMbBAe4kr7WIm9z3aDc7AkP+AVhpsj4h1hzyJfDmCmKV8EaVAKkrzFqQTdbQ5Qo0RZL/iQSF6YiW3X4QDR4tLJ7tM+iPPBzFRJI1YvAZdEEhlNkxlK9YaKEjpZ6QOmpUz8MSjk32rBH8BkkJB2Cb+vNBFoYsA0V4JQ0fq3wxQ3QJ/Kpau6LdamHEEv3ma+0BTwmacozOzpb6pVOrgguf3ykG82lAYdej7yDXKr1JXuZJQqjJsOHxW1iocKGByOaJ447EsU1cIOyZ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 12.06.23 22:24, David Howells wrote: > > Fix dio_bio_alloc() to set BIO_PAGE_PINNED, not BIO_PAGE_REFFED, so that > the bio code unpins the pinned pages rather than putting a ref on them. > > The issue was causing: > > WARNING: CPU: 6 PID: 2220 at mm/gup.c:76 try_get_folio > > This can be caused by creating a file on a loopback UDF filesystem, opening > it O_DIRECT and making two writes to it from the same source buffer. > > Fixes: 1ccf164ec866 ("block: Use iov_iter_extract_pages() and page pinning in direct-io.c") > Reported-by: kernel test robot > Closes: https://lore.kernel.org/oe-lkp/202306120931.a9606b88-oliver.sang@intel.com > Signed-off-by: David Howells > cc: Christoph Hellwig > cc: David Hildenbrand > cc: Andrew Morton > cc: Jens Axboe > cc: Al Viro > cc: Matthew Wilcox > cc: Jan Kara > cc: Jeff Layton > cc: Jason Gunthorpe > cc: Logan Gunthorpe > cc: Hillf Danton > cc: Christian Brauner > cc: Linus Torvalds > cc: linux-fsdevel@vger.kernel.org > cc: linux-block@vger.kernel.org > cc: linux-kernel@vger.kernel.org > cc: linux-mm@kvack.org > --- > > Notes: > ver #2) > - Remove comment on requiring references for all pages. > > fs/direct-io.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/direct-io.c b/fs/direct-io.c > index 14049204cac8..5d4c5be0fb41 100644 > --- a/fs/direct-io.c > +++ b/fs/direct-io.c > @@ -414,8 +414,8 @@ dio_bio_alloc(struct dio *dio, struct dio_submit *sdio, > bio->bi_end_io = dio_bio_end_aio; > else > bio->bi_end_io = dio_bio_end_io; > - /* for now require references for all pages */ > - bio_set_flag(bio, BIO_PAGE_REFFED); > + if (dio->need_unpin) > + bio_set_flag(bio, BIO_PAGE_PINNED); > sdio->bio = bio; > sdio->logical_offset_in_bio = sdio->cur_page_fs_offset; > } > Reviewed-by: David Hildenbrand -- Cheers, David / dhildenb