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 2EF00C46CA1 for ; Mon, 18 Sep 2023 14:53:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AA2CF6B03A1; Mon, 18 Sep 2023 10:53:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A534B6B03A5; Mon, 18 Sep 2023 10:53:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 968C36B03A8; Mon, 18 Sep 2023 10:53:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 8AB606B03A1 for ; Mon, 18 Sep 2023 10:53:58 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 3A3C5160ACA for ; Mon, 18 Sep 2023 14:53:58 +0000 (UTC) X-FDA: 81250012956.18.7B91652 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf28.hostedemail.com (Postfix) with ESMTP id 49619C0002 for ; Mon, 18 Sep 2023 14:53:55 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=kJFx1xc5; dmarc=none; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695048836; a=rsa-sha256; cv=none; b=lX5zu+QApVDRG7qW4ZCQQY3YisDfxvXpsgtbFMvoZ2TCotGRebBSiXGN7kBVugW2HIcGUR GLQpk948Dox6LhUMxUjLQyBZO/WQUa9XPS97KFRlqcKnwGrcU85/+j+EAKASBNfRcuOTbw h9hb8U6RkhGUE0eb4iAbB7yum19cxpw= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=kJFx1xc5; dmarc=none; spf=none (imf28.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695048836; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3W2iG96sXNpt+qL0wzYfxSEXfbU14HH4BwI31ALCsRw=; b=d6wEOxnIdL+QRAThPXbOeGWU1XvH6nHh026BtZm136peRB6c4HbOae33kxXhmsQ9r29fTX TYV+ljmd9ugPUIM4U1MXEcbjW0zo2SbbqKNvN/tlZ+zhA/KXYOa6MhzR6PSCvDukv3k8ta JcK5KMypktdcyurZigPGb2viq2IcGBU= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=3W2iG96sXNpt+qL0wzYfxSEXfbU14HH4BwI31ALCsRw=; b=kJFx1xc5KRX1gV3ixQPahDa8xR NtVwdG/6RbvBONC1WcD4awRPsWs2+LNGyk1IggDwHPiMU7RRQaenz9+vX0oEHENWHINZp+v7dbwkh Z6GsbkePAG+7zVqxxZWEVc601prwTO+DOWJA1fEHoqOW7tBjnqAddom0oo4qQXI4LHELhLgb10t7R +YSuEXa5eRNBt8AQL+DNBMM9l3/M763b87c8vmx+RS+wowL5EB3+pcF1Q0oYDHOYnQ967Yn9brtkU Efh68kGF86lUYZJrdC+3gKnX0/1WbRwdNxrs9ndowe3ynz1/a+9TCfsE5/xpNxdiL6t/H9VySTLSF ghTWBO/Q==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qiFdE-00Bd02-Dp; Mon, 18 Sep 2023 14:53:48 +0000 Date: Mon, 18 Sep 2023 15:53:48 +0100 From: Matthew Wilcox To: 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 Subject: Re: BUG: KCSAN: data-race in folio_batch_move_lru / mpage_read_end_io Message-ID: References: <22a42774-ebe1-081a-c9b9-e11f4d74bc3a@alu.unizg.hr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <22a42774-ebe1-081a-c9b9-e11f4d74bc3a@alu.unizg.hr> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 49619C0002 X-Stat-Signature: hprrucukjkqzhyzkimxwtrs31cnm31ho X-HE-Tag: 1695048835-324496 X-HE-Meta: U2FsdGVkX19pcXm+jqlBNlj2ltOzBEebqPi3EvPErGT6zpjPSZrlnXNd/YoI/E+U1DB4yd+9VL3x/I/b38n4WqBxZIRLD5+qflDDfL95ZHY5WtXL4ocO7aH+wwaWy7nAxHc6K/tvYEQyAg9diy1vVb+C9UHCVFErnoWToiqQAO7SAQDNQaC4cJpQFa3DuoJmSkaf9Wio7s2qwGHnfftOsWl1mv1IuWFub8xX+3gA/5wQBcRe7B0/Z2zUv8KJGgoyuUrnDQkI5CxZbTSzlJaT9j7qvyu7COfy2y3PBhnEk9NO9SmVA4xSvlnTIw30PKlwbkLmSsK78/3zzb82oFLLGzTk03+gbo9kTKyDy4k2bYkiMZzdWe5hn+ypDieO57E4lwkwJ7pkbyDsI2al3c8+eqaEdyI7rMBcqKBT1jXuhtzhYqVutsQXlj2+/j5Rr6Pwap/R3XeBPlw2oCGFx6/f0U+9CUvUNBYZ0LVFq3euC/xPcQThBof0AwiWgtJjLpsw89lOGeS9AU/z8TksffNbu4GnmdRpLAGrzfyz8xIsaZnUDw/ZtEUnwWs+cKxvWMpvGhDNSOZNi3HLQfwwdZryA8/jEXj6zSDuvn0dNEvWIgycHiZDdJr+ryEG4Fs24+5TFm9/2IUVqf7WzX6YM/aHZUucvd+IQWJ7s1OGNHPrR35W/ljAy2pfhKoSL5SbhPLgswNRnEFTvPMGE8qYj+T4IaC4t1YlLqyF2e46YFFLTj12V1LB3iHDLh+eNiFSj43KIR2kDsIaWdFMxPYCCvN7xv4XHtJ2cGgpes/5MWDsb8q5YtqV1QbuZ1ydQ+gR5Wyxo0dPyzActbjivMj/DjN7BGTZU4/gZcBJb22MW1b0pNIuCLGTpPrg3UCGO/FXHNPAWqpQ1xa929lfPsi7P6JOpN54f4k4l+CwrSOWPvxOeOwm5A2rdlJJXhCqynuhWuc4Ep90k3HblGbnCByyKBb 9STNuAj3 nAXfvpOSb7sXSxal+NcnuIXwcUi3GAYDB4UYNDya2BREuZzzwR90ivw++yAhsm5AvknLLNQM8UanE0Mh75V3GcpeZwiPCRnn3bFWYAqIZG8BqulmhuKke2p1K/o5BcQtIjCDho84uJGR56262uHE9TouKlwknKK5203Ri4BVimLviS3P4wmrvFsKf0Q== 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 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.