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 6DE90CD54B6 for ; Tue, 19 Sep 2023 11:44:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E05C86B04FF; Tue, 19 Sep 2023 07:44:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DB60B6B0500; Tue, 19 Sep 2023 07:44:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C7D786B0501; Tue, 19 Sep 2023 07:44:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id B52A76B04FF for ; Tue, 19 Sep 2023 07:44:32 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 87EDB40CC3 for ; Tue, 19 Sep 2023 11:44:32 +0000 (UTC) X-FDA: 81253164384.11.895EA80 Received: from domac.alu.hr (domac.alu.unizg.hr [161.53.235.3]) by imf19.hostedemail.com (Postfix) with ESMTP id B6AF21A000B for ; Tue, 19 Sep 2023 11:44:29 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=alu.hr header.s=mail header.b=ttKmYOTJ; dkim=fail ("headers rsa verify failed") header.d=alu.unizg.hr header.s=mail header.b=djvULSYt; dmarc=pass (policy=quarantine) header.from=alu.hr; spf=pass (imf19.hostedemail.com: domain of mirsad.todorovac@alu.hr designates 161.53.235.3 as permitted sender) smtp.mailfrom=mirsad.todorovac@alu.hr ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695123870; 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=hoyPJF523kNlJQvch912qZHv5OTTDRWFhenbvIswjaA=; b=HOvIhjRiVDV+18S2U3dHZin1+3bPNRZqWqxAY6zRmCtnkuv2J+OlaoI+ZyETqABCuRfE1R fapdHr521FsLtyh3n6jL95tQjaunt3vwgLFHwhbAE/U0HRmjeBmhC5qm0dwwvGQCtiekEW csYzEzOsTkOQrlalEiTNBuU6qFVEp1U= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=alu.hr header.s=mail header.b=ttKmYOTJ; dkim=fail ("headers rsa verify failed") header.d=alu.unizg.hr header.s=mail header.b=djvULSYt; dmarc=pass (policy=quarantine) header.from=alu.hr; spf=pass (imf19.hostedemail.com: domain of mirsad.todorovac@alu.hr designates 161.53.235.3 as permitted sender) smtp.mailfrom=mirsad.todorovac@alu.hr ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695123870; a=rsa-sha256; cv=none; b=6FOb7c5L3nBBcBvV1GVJcWovXSyPR/JqVvPdA4hQXhl1JcwrbAHCr13b2Lhzx57VRkSlSi JRvazzb2blByiLYe6eQNIT8FxFAQy4s2JVJ8YDXiYgIc/GA30zHQH7kkG3Tdm+v4YLr3In VIEDY2OLNLVKY7WzIIvgYe2IrrAd8nc= Received: from localhost (localhost [127.0.0.1]) by domac.alu.hr (Postfix) with ESMTP id 1337D60173; Tue, 19 Sep 2023 13:44:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=alu.hr; s=mail; t=1695123867; bh=R4zE8eMPjuUOaCwfRsjqIdOLLocNdjk0b1Esnw4mmJw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=ttKmYOTJgHktlhgxKta2KcZh9iJjhVSjpzLtxh8EukggzFpxluS3QIGxlCCuT47ds 6RILjdZmc1qg4v3TOEtSYacMv1jCJrQ5tWlFTlKhO1YsrsHaeojjZpCKnUF6HtgDly FSYQHDMHrslEW3z5XIIYWKFlZhNEgXdW7Wkc0cUyiLJ/MAezxwr4eAyvzsrZGXWte4 wKEwNvT0ZRxjHvuEYBabbs9Oa2lHicp0Z/YVxHGkdo9OZwq5a1epjhRc0oNviliZoJ TjJTvWN3ppVikygvpnT7FALboJyD8OYxIfKTVN9RZVPWFzHzMB/K7zhCSC6AQriaYf NQcWHXgaGLJ9A== X-Virus-Scanned: Debian amavisd-new at domac.alu.hr Received: from domac.alu.hr ([127.0.0.1]) by localhost (domac.alu.hr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0StH1V1M6SlU; Tue, 19 Sep 2023 13:44:24 +0200 (CEST) Received: from [IPV6:2001:b68:2:2600:847a:a5b8:fda0:5de5] (unknown [IPv6:2001:b68:2:2600:847a:a5b8:fda0:5de5]) by domac.alu.hr (Postfix) with ESMTPSA id B351360157; Tue, 19 Sep 2023 13:44:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=alu.unizg.hr; s=mail; t=1695123864; bh=R4zE8eMPjuUOaCwfRsjqIdOLLocNdjk0b1Esnw4mmJw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=djvULSYtqp+qfPMTus3D0NCsJubztH9dXVR0Z7tnEuXgeurWiIfCFO5TtNaAxHQaM iuwmMmoTV8Wn0/OgiRXDR04hgpnxVmxI8zxJiglXuF61QbleHIBK6wfFZs8b9T4aku 1es9Jd4x0DPUlvyp2FhjXlUq9fI+tc+C67HyytP3FDRzXvkPMPvtS4WPceO0dYBdh1 584LPdCawzpxGCSFGkjToxw0TjsFoDWhpqqaQCDrIX4h7p9KuQKhrI90LIi2vhbQUO zHOTYUR3XLBxv6UVz0nZ+UDW9KwpIsxFYyMw1dexe17Q/lnArYDg3ARchPa+tp8dRh PK40T2ZOfzELA== Message-ID: <5716ec93-e6c6-4286-ad7d-9fe6faa68c7e@alu.unizg.hr> Date: Tue, 19 Sep 2023 13:44:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: BUG: KCSAN: data-race in folio_batch_move_lru / mpage_read_end_io Content-Language: en-US To: Matthew Wilcox , Mirsad Todorovac Cc: linux-kernel@vger.kernel.org, Andrew Morton , linux-mm@kvack.org, Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , linux-nvme@lists.infradead.org References: <22a42774-ebe1-081a-c9b9-e11f4d74bc3a@alu.unizg.hr> From: Mirsad Todorovac In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: B6AF21A000B X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: puc8p7gred4455yqrjq7arm5iuowwfj3 X-HE-Tag: 1695123869-544951 X-HE-Meta: U2FsdGVkX1/aqL6M+zCr2U/ywi+7Pt0w/tcOpKWcIVUZpNpErkPmk5VvnSAHRiFYsV9uvFgQT1uI5DbAVgfVM1OKa++I2wK+AgaavMt9qxqMSG7gf+RbZlVjKHsqx8ayEGgLghRJxMPsuy+7e82SoYUJAt3qGjQb1leUoUfTOhaHijhbktN1ZjrYwfqjPh2U0aYFs28ivmiJyLXTxc4BJEncmR+p5Ey07eUZn5SArVF/1kOjR924wvDO0NvUZfns7n/HiCVl1plNTE6BCCJbGZo1ngxaZNQDnbCi9GDnBeKPAMlTMeZjtF+pDFEk7ARb7Gx6yzlE4Y4HcakKaMIbAbHo9oZcLUSLFQyfDnl6ArD57Qctygsa4AJfeDU9qlwH7FKuB/eZNJ/3S1KaPDsTFxQGwuTcmc/ZKZrqY4wEp6sJFzEKFLNBH4U3cTBIniDYFmY6C41srxr9No1165uPUgPO7+yQKiCAGNQ/XBMZDX1/js/Bpn0Mr2xvmWnhGUVq1IK+BR6qGCJTsVF04wT5VDvvwwXG6luY9G+r2uzxfPJEvQqRtw7BKpvFjBZIRyjU2QmEQsmmLK1TjKnkGJC4pXhGM19SdiCWY9/b9rzTp2buM40A26uYWVrKZLBIZQoz2dJX1We7B9Xz/uVG+3dLImBNq9m2uOrMassmRdrsZv7EnNT1cYQqhL9yyE/QA9I/EyJ5HqCs4hmdcP1kEwrnib5pSgT93NYy+VC+X4tAm2iog/hm5XQt5hYyrKJZNllRPHxc4GLckYp/HYRe8MR6voyV80P+uZf+2U3jX+dwfM5zSoMVSaQgrkaeB0tQHDp+mmQq4H7dNiJFiai6dhHXBn/os3gmKkNFoWztoMmU1CcvnymLLAy0Hymalxr5fPtDwrBCXKq2LOeqDwDcNiCpWeCwslUcm8k1fIcoIEifT2jUJbZ4Un5wZwJMziXIzxjReItKijP7b32CyBtvDC7 aL6itJRb ZcC3jkYqSdqtogdRq9HD+i19EYllBFvfAxGMqJwiI15usyRKvR9wvx9nism8+D+c/ytmvIJPDtOzTu+sZkDORXPwUGcl0URHuZRjSN/3vr8HRAzUsLtWCWkPuzEP2qRS7wQnBGtyq0ykf8dtQOzB1XTowUvLyEq0Gj9f/8gv3zPpO7oeH3tzjjjcIQOeLyTa0Fh2/xGESo6sbwSUV9EpKwI2R8BoqiH0LdkmG0wXv0PyYJmVeFVvm056fd+3a66bJpNdpsR8v6qp2Faas+1RoturHfSKLlRUvwqKbaXhfpkTP6yxPEIVzqMCiV6xcZA0gT5V6TMatEz4B8yPTd8mahdIU0oSOYcNKqr2yVM5vfSJ4p2O6MGCPIoOKu1Sm1CrtS24/DYRSbDKvxh0= 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 9/18/2023 4:53 PM, Matthew Wilcox wrote: > On Mon, Sep 18, 2023 at 02:15:05PM +0200, Mirsad Todorovac wrote: >>> This is what I'm currently running with, and it doesn't trigger. >>> I'd expect it to if we were going to hit the KCSAN bug. >>> >>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >>> index 0c5be12f9336..d22e8798c326 100644 >>> --- a/mm/page_alloc.c >>> +++ b/mm/page_alloc.c >>> @@ -4439,6 +4439,7 @@ struct page *__alloc_pages(gfp_t gfp, unsigned int order, int preferred_nid, >>> page = __alloc_pages_slowpath(alloc_gfp, order, &ac); >>> out: >>> + VM_BUG_ON_PAGE(page && (page->flags & (PAGE_FLAGS_CHECK_AT_PREP &~ (1 << PG_head))), page); >>> if (memcg_kmem_online() && (gfp & __GFP_ACCOUNT) && page && >>> unlikely(__memcg_kmem_charge_page(page, gfp, order) != 0)) { >>> __free_pages(page, order); >> Hi, >> >> Caught another instance of this bug involving folio_batch_move_lru: I don't seem that I can make it >> happen reliably by the nature of the data racing conditions if I understood them well. > Were you running with this patch at the time, or was this actually > vanilla? The problem is that, if my diagnosis is correct, both of the > tasks mentioned are victims; we have a prematurely freed page. While > btrfs is clearly a user, it may not be btrfs's fault that the > page was also allocated as an anon page. > > I'm trying to gather more data, and running with this patch will give > us more -- because it'll dump the entire struct page instead of just > the page->flags, like KCSAN is currently doing. Hi, Mr. Matthew, Yes, I am using "vanilla with your VM_BUG_ON_PAGE()" patch all the time, as it seems non-disruptive and I am hoping to catch this spurious page alloc. Best regards, Mirsad Todorovac