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 66D25C3271E for ; Mon, 8 Jul 2024 07:09:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C67A96B00B9; Mon, 8 Jul 2024 03:09:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BFED96B00BC; Mon, 8 Jul 2024 03:09:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A69F06B00BE; Mon, 8 Jul 2024 03:09:32 -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 860496B00B9 for ; Mon, 8 Jul 2024 03:09:32 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 3776DA3A2D for ; Mon, 8 Jul 2024 07:09:32 +0000 (UTC) X-FDA: 82315709784.30.2B784C1 Received: from out-170.mta0.migadu.com (out-170.mta0.migadu.com [91.218.175.170]) by imf30.hostedemail.com (Postfix) with ESMTP id CD5268001A for ; Mon, 8 Jul 2024 07:09:29 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=gzM6WjLL; spf=pass (imf30.hostedemail.com: domain of muchun.song@linux.dev designates 91.218.175.170 as permitted sender) smtp.mailfrom=muchun.song@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720422541; 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=I8D6qUQ11gn7KCU80LqVUEVXfAYeJAPYzlzio/pNkVY=; b=QBQ6IwQ7abZt2mUiHPiBPsSa4Jlp/79gczv10MXHxXgvoEq4HOx+trnTBCjN8m1NV7CEtF ZscChT/ml3sPGypjb3IMcmL3GZ2oJU+pHyVBcoSDiyqh6Egakvl5MlxD3EgPhDvwRy9Szo DKofvr8nmipzdoCZTKYRa0n0rf0rFSI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720422541; a=rsa-sha256; cv=none; b=D+B4KPlaCMp1RU6kLJfNogNSiQgz4KAiQgutz5MyLQ6F8tcya0W6C8FxKdtjSRKY1qmMm0 RyIFLPfOOXqDQ3xoWhjB1Q9dv62KHJGhenjiCH40IZ9aQcrVSAdfe39FTCc3dVSJXnR63U FImvUODRFsCiXslGNgifCL8vaEt7E5U= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=gzM6WjLL; spf=pass (imf30.hostedemail.com: domain of muchun.song@linux.dev designates 91.218.175.170 as permitted sender) smtp.mailfrom=muchun.song@linux.dev; dmarc=pass (policy=none) header.from=linux.dev X-Envelope-To: linmiaohe@huawei.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1720422567; 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=I8D6qUQ11gn7KCU80LqVUEVXfAYeJAPYzlzio/pNkVY=; b=gzM6WjLLR2uuzgwjnCAIfIx4ADVQJ7MwyKWnlsUTYALWUwDlqL/GHUFM24TyMOivTxmxpI 4syUBde0gFHjlLx9qiJbF1ehty5D021RcZxM6cRew0EgDFsFM0uheALCA2lxiG6jvjmNq+ KmJDsr2VGFCsT5u/aB35z+/z537U5nM= X-Envelope-To: akpm@linux-foundation.org X-Envelope-To: linux-mm@kvack.org X-Envelope-To: linux-kernel@vger.kernel.org Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\)) Subject: Re: [PATCH] mm/hugetlb: fix potential race in __update_and_free_hugetlb_folio() X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Muchun Song In-Reply-To: <20240708025127.107713-1-linmiaohe@huawei.com> Date: Mon, 8 Jul 2024 15:08:44 +0800 Cc: Andrew Morton , Linux-MM , linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <20240708025127.107713-1-linmiaohe@huawei.com> To: Miaohe Lin X-Migadu-Flow: FLOW_OUT X-Stat-Signature: xyu3oc3jn6gqx7ofbb5y6j5boeda7nze X-Rspamd-Queue-Id: CD5268001A X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1720422569-35792 X-HE-Meta: U2FsdGVkX1+SLgseM28QAoOWC4Ev68Te9HwhLWQXpHYDhVNuMareCa1ryzeCKgQHUHQzmJ9fBWIZuOhePEhx14OvsHW1kJEIofdo6YohZfNsrXc1pAQ32jpqt6EIF+rP/u88SHiQ7aCt8xwN+ZPWGDJImRM1/OmSDD1ZMxaydTOj+xe5bOsRpEbYoTftH4DYa215sn7HqWLPShqb4tBfWz6Wwzyfe48ENyNuUCsEi4pqfOOhZDrcaP49dIYMtTFyDbMhIHWS7peDVYjcLwBnmJYHBZFi/eeg/y4tegycuRDRTB8Nhn6ET1PltRUWofLzirg5N5ZOTaXwZNS82AlqaDB4byHzPK5gNEtlbmzG3f3iraVC1aE8aZMWeLUO/8j4EwdL+X5uWHUSkFnA9peRU7lWOOYz+kVrTAGn7ENxxsUzphj3nFSSF+hC58Xv9IN/5n49EjRSuEJa/jp0WtK4fngnpVnxJhhK7A23VT7/3lULbslk8aaimJu3vBBirUxIYjlcd+gC+8BbFnnaCud1krXFMgnaNUthLqNJOn7R1Uc9DZ0geb7N2+pR293U5rBDNsuWXPOD1DXyGYcL1SZyf+usArN7L0+aIJx2gzGmU0fEjIcBFQD2ujsT1mOn1U38dyRyXm4KTHl8xQpobXzZYTzz2eU66mApCRS2CHBV/bBXjWgAvmeSuI/C+ULVWmEFdks1jRW9Nwib8Z5Kl4PNX+XmK8n0c651wmcJCpJ6KlZGaGQMmr5IA1y/W1cP+ecUjMluEqUp3BJZmmwqRgdtLC9lRLWn859ieOTCg7D4tThQQKLnMgPaA1PghW+d8eYzo9bDGmmSVoij+NP2/8oIBBc7lY81tdg54OZxpbaPTPwY8LkbOcdN1duYbY6rbWKsUXoAngzk7s6tKjob8osu6R3mYCCDRav3YRML97f6tb+NHG+G4dH1VLv3E8wBkQ9ay8DfCZBewuQ5SzpfF8A Up8L0mne ezDOlfGj2GD4I3lSdYr5UxQxirQMZKJLHGqC2ozJG9SOJzHbL9rN9BbdhAYsGKeKlHg9DXgD/x6Qsk5lP/eMMJ/WtCsaPvfW0b+WA0UpTKkGZkCTvQIOOyYsy2rYcTveYoLnc1OWIB6UD/EDIdcCnjwFh9p7LECWipZJ1gtPTRtLNEZQNqx3nvTOogsI7L58VgxLHOwgKB6l4YdKJfyKEmxE57NWkR7P2Sf46 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 Jul 8, 2024, at 10:51, Miaohe Lin wrote: >=20 > There is a potential race between __update_and_free_hugetlb_folio() = and > try_memory_failure_hugetlb(): >=20 > CPU1 CPU2 > __update_and_free_hugetlb_folio try_memory_failure_hugetlb > folio_test_hugetlb > -- It's still hugetlb folio. > folio_clear_hugetlb_hwpoison > spin_lock_irq(&hugetlb_lock); > __get_huge_page_for_hwpoison > folio_set_hugetlb_hwpoison > spin_unlock_irq(&hugetlb_lock); > spin_lock_irq(&hugetlb_lock); > __folio_clear_hugetlb(folio); > -- Hugetlb flag is cleared but too late. > spin_unlock_irq(&hugetlb_lock); >=20 > When above race occurs, raw error page info will be leaked. Even = worse, > raw error pages won't have hwpoisoned flag set and hit pcplists/buddy. > Fix this issue by deferring folio_clear_hugetlb_hwpoison() until > __folio_clear_hugetlb() is done. So all raw error pages will have > hwpoisoned flag set. >=20 > Fixes: 32c877191e02 ("hugetlb: do not clear hugetlb dtor until = allocating vmemmap") > Signed-off-by: Miaohe Lin Acked-by: Muchun Song Thanks.