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 A501AC27C79 for ; Mon, 17 Jun 2024 11:24:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B20706B017A; Mon, 17 Jun 2024 07:24:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ACF206B017B; Mon, 17 Jun 2024 07:24:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9702D6B017C; Mon, 17 Jun 2024 07:24:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 773F16B017A for ; Mon, 17 Jun 2024 07:24:45 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 23FF01C2AD5 for ; Mon, 17 Jun 2024 11:24:45 +0000 (UTC) X-FDA: 82240148130.25.0ED0AEB Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by imf30.hostedemail.com (Postfix) with ESMTP id 3E8B480002 for ; Mon, 17 Jun 2024 11:24:41 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WCujd5ua; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of konishi.ryusuke@gmail.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=konishi.ryusuke@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718623476; 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=9u+S5covs6tqmYHGnRdoyC4fZEq6n6k72rCqTj5o6f8=; b=8JkaaNEF6MKfS6F+JjsELp5oYcUsxiX13dr7CejU019l3UE6FSCsGRd9RTun/u3rqjuvmy I0hLeRolTDAwuFrwd4PqNvVLFbvpoAY6mK3+jpp7seyYu7esu0FpZmE35F2VOL5FLrOtKU xWLWd8o2EUOiRtoZszQUzsgIsyCIGGU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718623476; a=rsa-sha256; cv=none; b=tsrFKB+MrqJ8/axF4QbEkXVg+OjAbcuRiGgyRFQzTZRh1GeAh2LoxDrp2sRScnzb8X3osJ VK+yZWATUfT+R/1UOd7lAfu1Ntrz3XBFkiYPuK1Oi/ySLl08xEATySpAC8kOjwphwL7cpC umPHlcaVW3TSlwEX6CNQA0IaMyWud30= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WCujd5ua; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of konishi.ryusuke@gmail.com designates 209.85.208.172 as permitted sender) smtp.mailfrom=konishi.ryusuke@gmail.com Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2ebec2f11b7so41693431fa.2 for ; Mon, 17 Jun 2024 04:24:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718623481; x=1719228281; darn=kvack.org; 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=9u+S5covs6tqmYHGnRdoyC4fZEq6n6k72rCqTj5o6f8=; b=WCujd5uaIJjv1NN7jE6UQncx+11mS7FOBslu92pNwJUR03y/GSJAzusLObfwELLd8U C7fda+o8RMK6UE/Z0xtvEDO1WaVCOgz5B4jPBfGj816OXhG5iKIq9qtTYVC/xAOwoGWP 3WXO3e3KU4PJeVX0bVGNtnOn5zcVy7VGVfZ9rktSC05CubIMjyV78Oeqz2a9XFPx0L3o Fk8ji2nuXM+3Rm0INLrhubsR1B1xEFiT86jFZMN9Ofm2G0UfsKKGOKQkf+bE9cjKCoBZ yO3ZLByKSYP9vympi2yMQablDg5USsCOzBRA+QP8P6xioMT0QNrEoZp35UMSwUpBrz9e Nppg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718623481; x=1719228281; 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=9u+S5covs6tqmYHGnRdoyC4fZEq6n6k72rCqTj5o6f8=; b=R71liDX+aWsVoqmkTxbJr8ou85GgTRipQyFmfJ1PTIb/Xwk7FthYXYmC5E9CLybCUh J92F6RuTBxhjvrT7CxD8czS6FEPxDBwMqUSB+t7JV9tM5U+jUoHabQDcOJimzd6+T8j7 0JeGsDgyETLpbFnUbxFBWFwwPlRjKDls4gAKpoB7DKpL6rBklCBL85wOtT5oUgjyaljG T39XEqgxfLlsbjE/XABu0lCw7zxQyAmLIFU2e/jRYwI+O09cDx8W1r9+BPcDimZWBmV/ 4orxZ1f804mbaua6igloqBuDkPgE5DNZC3e5HWxz/KBTTAU961j9/tbUWo2u2FgFPmGe HByA== X-Forwarded-Encrypted: i=1; AJvYcCUqmiusKRvmf6MDvXif2KNf4EPffEr74d6LVqff9lLsrg2WjWrvvwbaQhWfmgSSss0BZM8gWQQVMGdUIURpXXb/yXc= X-Gm-Message-State: AOJu0YxP4EPC20bmYJoxOQxnRBsTBSecletzf8E5tnXw6RhqNv5zt9H2 hmUa1nEEm9husUc5NH7/f4QQ+e2o9sjEYC0YuJAk0gs6DWj8/LtHh95j2dpz8Yw03a5J5HCWP80 XHkGQWYgv4QqfTY4sIplK5Y6S3e4= X-Google-Smtp-Source: AGHT+IGz6l+l2whi4KHsvt7QZn5lx+DKSwikD+nALNnvZcUbYjy+X2GiVSQjXpnGcwoJjxYhQDFCdsoQdYC2+brDzHc= X-Received: by 2002:a2e:7311:0:b0:2eb:f2cf:1e49 with SMTP id 38308e7fff4ca-2ec0e5b5228mr58253731fa.2.1718623480308; Mon, 17 Jun 2024 04:24:40 -0700 (PDT) MIME-Version: 1.0 References: <20240616023951.1250-1-hdanton@sina.com> <20240617075758.wewhukbrjod5fp5o@quack3> In-Reply-To: <20240617075758.wewhukbrjod5fp5o@quack3> From: Ryusuke Konishi Date: Mon, 17 Jun 2024 20:24:23 +0900 Message-ID: Subject: Re: [RFC PATCH] mm: truncate: flush lru cache for evicted inode To: Jan Kara Cc: Hillf Danton , Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org, syzbot+d79afb004be235636ee8@syzkaller.appspotmail.com, linux-fsdevel@vger.kernel.org, linux-nilfs@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 3E8B480002 X-Stat-Signature: 6ud986yzy979xj5mdt5hgp5cms7ugpzj X-Rspam-User: X-HE-Tag: 1718623481-682554 X-HE-Meta: U2FsdGVkX1+KGz3WhyAUJmXyJyyvunETo3Y0nbcTyukAvOCH0LkNvW7vEIkFMAeGtLmR6q+6HsDXxR2rDiDnjQ5hTjQ9RbiQ+VdxepRKS79RFFYBtuyd2sY54s0cPM7i13XGewGDkEhR94KTeNaKYE4C5jatKLow2jPIQNM3yqSmAdHYCW2Cp3HWlB2dBHscqzONPAXtdLl+Yav8/0GYqBiOd//8n/sPGDk8foXPPbQ23EgqFyW5Yoh7n0EzZri3PTsh8m16UGFjGpXNnNBiYy3zTVV/krGo1An+etriqS2WblUqL2JDT/spap0G60QNGD6PJN2eBuppf7qN0Hr9Wy5JQb4sRHbpDCIZUN+AA/kS5jDh3fi5nGqL6VzPtmjMoUAregwJkLICpqr5teDcd+B3p1JqxYRLIf/hVbCDUP8DDJY19XpHE4defjnT3oc3FdcRXAzbT2AB/msA7SfmDmkP3JxHcTef3YKRcgvgXiFiKbOL13WhHYM87wu9LeqNWjxWJijJHRcsz1iLhwOaO1Ysd3fWnOkNhSjTWHF/0ZY7F92rYJM6ZytW6YegwAyYEDq7dCk8mOs7WIP4k4Rq5q8RvXQuh4afCayw2jERvSJwAAeHfGWPVCq6knXxBVQi6SeZX+fXaWDDyuLW3+3gdlPCdp36fYTsd30lZljhpwhQmwleqPe8EA7/W67RnWoMIz0PzM9xo0n4NpXC3DIgQUNH25042KUrzmTkUI92q6ldOFufdR1fDUD+Wh7xGzqa3Qvp7GPUap8azn0OPs5VPkx5t1MlYeDOYb/bRxtrdAAmGDzX0HwlxtPhJ9qYWMYUWScM+OUjxrgA5NkXAr0SfhYFehPOlVo6KtmmMcMqnsEBRymWZgJEGyAa/J/OIQDm/5nym7UqCpuOUv/qXLllORx8wJ5iUCGh1B0Wl+sjehchj4AljrB2vZkie9yA9r7fU7IpBCJ2zd8M/A1hHZZ mVHvULfT g9HMb8UQi+Onmc+b6ttZvrGhKypViGREDKq7O2NRTvRuZYkz2VqmLG6RxHr/sbQieTbJnb78PtS6igowR/PCqsREs8m20a4TLMoKY10iD8pa9IQQBdgeBCd+qKnQWqsiE0ZPwRX048y+NpQgQLGByZzGX5KB+nVam06GZG4/2eZ+e3Zh1Ik2hnNFQqvVa7TaKdYwAeyWPaNf8N+SkRZUmUjq0q9ln0TUnu9dApzx1ZZpqMPd+6U5CoNg3YhG4ZBRC3GiyLSiFGIk9V+Ukxz10ir8p77xMClX2p7A5GUX7MuGDoJoB1tuBOuW2qlbgn2E+FB/pAbXacGoPfLO9MlkDQFOHZ9x3uJ/B9dhxq8/CIPHayTXkiIeeHEc2paOaH3OyR8/qx1htheiB2gBr9pe+pAtZZZRjVopZ+KRSnWQMU80vZ6OCxNQMkf+Q9HaRxEde8EvdedlC84tJstPoHETT2Nha6bl40EpIzyAZqPItl8380LDNCORp17yQwKUQTl43Jb51GNLI9nZOLW+804W/J4T5pA== 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: List-Subscribe: List-Unsubscribe: On Mon, Jun 17, 2024 at 4:57=E2=80=AFPM Jan Kara wrote: > > On Sun 16-06-24 10:39:51, Hillf Danton wrote: > > On Sat, 15 Jun 2024 21:44:54 +0100 Matthew Wilcox wrote: > > > > > > I suspect this would trigger: > > > > > > +++ b/fs/inode.c > > > @@ -282,6 +282,7 @@ static struct inode *alloc_inode(struct super_blo= ck *sb) > > > void __destroy_inode(struct inode *inode) > > > { > > > BUG_ON(inode_has_buffers(inode)); > > > + BUG_ON(inode->i_data.nrpages); > > > inode_detach_wb(inode); > > > security_inode_free(inode); > > > fsnotify_inode_delete(inode); > > > > > Yes, it was triggered [1] > > > > [1] https://lore.kernel.org/lkml/00000000000084b401061af6ab80@google.co= m/ > > > > and given trigger after nrpages is checked in clear_inode(), > > > > iput(inode) > > evict(inode) > > truncate_inode_pages_final(&inode->i_data); > > clear_inode(inode); > > destroy_inode(inode); > > > > why is folio added to exiting mapping? > > > > #syz test https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linu= x.git 83a7eefedc9b > > OK, so based on syzbot results this seems to be a bug in > nilfs_evict_inode() (likely caused by corrupted filesystem so that root > inode's link count was 0 and hence was getting deleted on iput()). I gues= s > nilfs maintainers need to address these with more consistency checks of > metadata when loading them... > > H= onza > -- > Jan Kara > SUSE Labs, CR Sorry for my late response. Also, thank you for pointing out that the problem seems to be caused via nilfs_evict_inode() by a missing consistency check of the link count. I'll check it out and think about how to deal with it. Thanks, Ryusuke Konishi