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 8D050C54E67 for ; Fri, 15 Mar 2024 12:46:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E131F80127; Fri, 15 Mar 2024 08:46:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DC4B1800B4; Fri, 15 Mar 2024 08:46:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C3D6680127; Fri, 15 Mar 2024 08:46:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id AFD59800B4 for ; Fri, 15 Mar 2024 08:46:40 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 5D4B58123B for ; Fri, 15 Mar 2024 12:46:40 +0000 (UTC) X-FDA: 81899247360.13.DE4EB35 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf19.hostedemail.com (Postfix) with ESMTP id 9205B1A001A for ; Fri, 15 Mar 2024 12:46:38 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=sc4ciJQL; spf=none (imf19.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710506798; 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=RULc5TDvvvk2Sa4i0hS8r0sd1mzoDamLndZ42uiOt24=; b=t+Pf1uTyf2039dMu8ov6xOMhOMHfZhwZ9JEBpLoR9rBDlpETi399Lc2vSyZWu7X0aERFe7 XDta+9Le3qJznanmR0YVYwuBqfqk2D3uznauyvqFeJTj+e9Z5C0BMYtZaXddNsY58qRZeG cPSRpYN+xirHLr5vwj4FFPJPCu51nsk= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=sc4ciJQL; spf=none (imf19.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710506798; a=rsa-sha256; cv=none; b=ktt11c/odOxxadEITlAP8na1avmWiDF1nlZVhYNuS0jiiXju+fDmPjPDRLP3NfTod3Bpd/ O5umMH7RIzQFFTG8O1iQ4FW0YwLhgbgWjbaXN+kUDRJzibqN9ra+sIjZurlkNaU8Lpqb2Q QB4vI+Dp1ga3h+810wM2UOqhg4A/aAY= 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=RULc5TDvvvk2Sa4i0hS8r0sd1mzoDamLndZ42uiOt24=; b=sc4ciJQLAJePL0o5DufJ89yc7j OOAdDOqyD/9x0si3c5ZBTDMPmvyMqSQrWGNl9DuK20mBE46P8EdI6u8OH9ZSeAorYxJYPkS2vFM/Z ymuLP9jLkMQg+ess5joFMU8O6VS1tgukLNdt84Vlgc0aQv/W+rqUMYhAM7g5oB6UAK9fG3lYqS1Mq p9cd/XE6FEHh0WLhb7aZcrgCRXDtHSkFgnFv5LiKuqw3snfQ2um4QWbMhkIv9BOyGuc5lbe+glarl HRwCwaX+wbMu4rfb7eBk8QiRZPTHKUlhbHdB9GjYMQFoJZ7oJJ4fNHEsmwRv1VgsSVD79Pq7zogQo WMHa81KQ==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rl6xB-0000000AGY7-3YBZ; Fri, 15 Mar 2024 12:46:29 +0000 Date: Fri, 15 Mar 2024 12:46:29 +0000 From: Matthew Wilcox To: "zhaoyang.huang" Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Zhaoyang Huang , steve.kang@unisoc.com Subject: Re: [PATCH] mm: fix a race scenario in folio_isolate_lru Message-ID: References: <20240314083921.1146937-1-zhaoyang.huang@unisoc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240314083921.1146937-1-zhaoyang.huang@unisoc.com> X-Rspamd-Queue-Id: 9205B1A001A X-Rspam-User: X-Stat-Signature: yg95w5ory8o5zrcqi81ukgt3f43bps87 X-Rspamd-Server: rspam01 X-HE-Tag: 1710506798-329119 X-HE-Meta: U2FsdGVkX19SkF0odvwMD05RWS2tvjEjzmuoomVIKbvUgAEgxyyIr5a19IQ9hWz8SeVUISXl5yeWbjKGf+KK8BsxBMUs5dKY2DeiqCX0+mSUlxKiz5AYnTuL/MvBQdksCJIT+kpBbmSJ//9QQFO7YXTSeTgm3LR1CxHQGAf/S7oR7sJL9rynM/f1OU0noMOgBzhxdmBBdyRPdshjvvdWnMma2WRtKUn/cvQso4Hd9FTBrfkwjgBopAwSOuenrARG5pNVGX+eMkoaTYmOZPnF9/AwL2MU1l6m3ArHT515G1ADEIob+mY1osw3Fu6uYs0qBHcbXEffdSmsr2PR7OhISEboidgth08WdoPXT6NLlcypJuUi+vIAzpbtYno+CHLdHenB6Xw51ZSp5XO25gIoeDpUWcesxtISJl5w5ZKdE16DSYaNdjAd4tgJoXiNstueulixazGIm5CLPl4dzgGQJx+f+vHVyyGCf0LWsMhqVUAloxOKTZB6n09TVYFb9oZG68dSSXdixKJ4uh5adWUTLfzjzlhFh6cjQrYKPcJQCfZQGKxbZO81MlJcYjvF9EJvTwdSx1n3yIgso47VlARV6m2o9IdMmVbdlnXb4TRVrwljadeTfZGhkZUX9GBmAuloobMj1fhMzdVtmCsvg6jVLKGxb+PoaWGwSlm1UFY5WDWBHxb05yJL03zHmamu87B3gs/iUPzxiBjCqLLPppXe72cqKCVtO2SBtNyYdFcbGKHpoW7kX1gPlHhX9ervPR4PD9djD5PuQEiLK+IGGT6rC/o6EkMPm00Ml8T+CiUns5bpDnicWoy9vFeCvBPZpLdf9+b7pIpRtHN0d6OOvpouAOfU9WcmBE0Qq/DFGrVp83Al7K0sYttYPqX50cvFxXfEXE7xWzRMPPDvpC/8ELCxp7E8MOf5OsEqQL4xyaP9avgC3CkWNW6g1B1ffHyv3mKsMv3Jc5ZGcI+HD/n8Xte Dxox31Gc IeqmOXjVh2/sNKlPBsyFKmbYSSb/qGjuIdRu3bLgKRw1gk5p21ESJ2ANw8UsCoRKL6LLQpNwyDBvYk+RTLQ9BsTDpW7Fb6cceBB6VJC0wNgPEAisWwxawSzZhZTkctblYDf9egonZjlNkq/uf3GJyXgirOoAB8IYAdQnzMw57PdBVNpQy1rX3F0/Nx6PX8KfUoMvOIXXo/GCJdF+qR/BJH6qC1sd/wi7VyfO7vPJiGVpkEgpu5pOhNtoIxbzNT4Zbv7XUZzsVZT8c0fk= 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 Thu, Mar 14, 2024 at 04:39:21PM +0800, zhaoyang.huang wrote: > From: Zhaoyang Huang > > Panic[1] reported which is caused by lruvec->list break. Fix the race > between folio_isolate_lru and release_pages. > > race condition: > release_pages could meet a non-refered folio which escaped from being > deleted from LRU but add to another list_head I don't think the bug is in folio_isolate_lru() but rather in its caller. * Context: * * (1) Must be called with an elevated refcount on the folio. This is a * fundamental difference from isolate_lru_folios() (which is called * without a stable reference). So when release_pages() runs, it must not see a refcount decremented to zero, because the caller of folio_isolate_lru() is supposed to hold one. Your stack trace is for the thread which is calling release_pages(), not the one calling folio_isolate_lru(), so I can't help you debug further.