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 B5C33C7EE2D for ; Mon, 27 Feb 2023 00:16:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 219C76B0072; Sun, 26 Feb 2023 19:16:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1CA0D6B0073; Sun, 26 Feb 2023 19:16:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0BA0A6B0074; Sun, 26 Feb 2023 19:16:21 -0500 (EST) 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 F00D86B0072 for ; Sun, 26 Feb 2023 19:16:20 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id BF5131405E3 for ; Mon, 27 Feb 2023 00:16:20 +0000 (UTC) X-FDA: 80511154920.19.C4E7F0C Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by imf14.hostedemail.com (Postfix) with ESMTP id 0F3B9100009 for ; Mon, 27 Feb 2023 00:16:18 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=ERQewpNA; spf=pass (imf14.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677456979; 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=KU2d3krd8jU71w/aSLBfB0ISLKVxkdpbc4h5LL6Vtmw=; b=owuT2XciuV2eQNfCYE3ZKJjpTK+LqRuubKXrv+TWJeWX+7bHsOqvjKBvmvKetBq58GDuvz S/Sz71UwYupNaO1cu7yBIdsvbn7qJHW9AsplLxUurl2RVsgFRFtSda13FmTLIKE14zQJ3g 5YjAHmVzl5SF65RSI/4Lck3lDeTXb+Y= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=ERQewpNA; spf=pass (imf14.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677456979; a=rsa-sha256; cv=none; b=qqu42eVqHQ6DsLnpIqkFCro+JyakBSsklbc35dUMRQiChi9SaACTOJmWmoWPnxduGj8XyB sIvD/C3gEUOwKj01YajzXK/tcEcbeDwzn8y2GuUSnrLJvvD2Tr8e+HG8Yeyzi7974L9gpQ 3xDtpJU9Kt5+kgk6QAojRQnrc26Vsww= Received: by mail-pj1-f46.google.com with SMTP id c23so4363581pjo.4 for ; Sun, 26 Feb 2023 16:16:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=KU2d3krd8jU71w/aSLBfB0ISLKVxkdpbc4h5LL6Vtmw=; b=ERQewpNAimW1462AkeZKLB7VV6wMzO/wMbH5YD3De7jb+mHr3Djg39xFNorSxaRB43 tZa8zUry9QH9rzu5v/ntOXlN+Pq/C1uwGMMtoepAL8l+O5xrXgAqaHxwrH/LWpYbryFX gwURbwtw/WPY/pWj5ragqtnuRubYvWTMgWPWdC/d/PZ9PijNHQ2roid1tKOTrAY3biha c+b6upfTJQZ57J35mlvCz1QcVFz6OUt27Tj5ewtEvIHLLksF0mC6tWVCa5wmkJyv5/2j i4GI5PE5GIvFyirwHnwywBWLxrYYn1JAvlMyucEQCgx+ejPT9DzcmFeeo4n28KRCuvfa mVLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=KU2d3krd8jU71w/aSLBfB0ISLKVxkdpbc4h5LL6Vtmw=; b=oDdOYdH7S/KaGB0p9yXMHqhLMePrAVr4zcyIi7tfeWA1PBjhOzeb/Je5fd5b6ZYxVT +sBWXcEVy1WpzDUm9tSKWChE/2xPZM1kqHppUZL09r1vDnMy2s7sYhhrEkAtVGeGrINI rBCANA63dttm48M20qtvjF3kSh2W83RRxrE2jGI4f1VrIvjmkcQQt5LV7fNqQ5I6kmmt VVfrs1UfcrKF62eqklJBIWZz05uBvljrWw0b4DtxyCN3pD7AcPBaV26K3lLqyJhH8UgU hXfOTrIR1SGASbO+1q/w46xjMaXH1az3oV03vnFgo8vB7j1MQ3/peKWHaPHUia77SHS3 xggg== X-Gm-Message-State: AO0yUKURISmHue+vTWkCxkDkAqA36AQphLG6gFgMsMk/mUKF7wWumUHT nJ1mBE5Pee0A2mv+VxF0pwIik0ZSp3jVpgyz4k8= X-Google-Smtp-Source: AK7set+zCbQSPTu6bzEHsjty7yBuno/hKAW4gqy7Hq1uXEE1lpEGGIHoc9YAgUzzs4/VENWs+O6VyGsf0CLgRbUPV78= X-Received: by 2002:a17:903:4285:b0:198:dd3d:59 with SMTP id ju5-20020a170903428500b00198dd3d0059mr5351285plb.13.1677456977861; Sun, 26 Feb 2023 16:16:17 -0800 (PST) MIME-Version: 1.0 References: <20230224061550.177541-1-pcc@google.com> In-Reply-To: <20230224061550.177541-1-pcc@google.com> From: Andrey Konovalov Date: Mon, 27 Feb 2023 01:16:06 +0100 Message-ID: Subject: Re: [PATCH] Revert "kasan: drop skip_kasan_poison variable in free_pages_prepare" To: Peter Collingbourne Cc: catalin.marinas@arm.com, linux-mm@kvack.org, kasan-dev@googlegroups.com, ryabinin.a.a@gmail.com, linux-arm-kernel@lists.infradead.org, vincenzo.frascino@arm.com, will@kernel.org, eugenis@google.com, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 0F3B9100009 X-Rspam-User: X-Stat-Signature: uwdh1sehhj6t15pjuws61ec58hyo4hbd X-HE-Tag: 1677456978-862387 X-HE-Meta: U2FsdGVkX1/p8rgoRhe+IyZxxXwTRtx7WhjQk2cngijXkZw6kPMMMIn854sZE/17xNyCFsVCbVw/4jBn8zqAyetcqrJZyDAj+Wh13cN+kF053zGJkEyOHRwU1fUDa4Qd0egGyrGs7Ln6bOOUMjdAkYAuizLizjoruxkjJNxJV2EnCh3Wo69JBRQuO4M3NIJk4j0xve+ggt1jO/02AK/yf0t2mREu+zrhmCdtIXAlpgT8OJSQo9G7NbmLE8t3doQ3kev9t+FdVUjMXAY666oI74hMKY9u3Jc5LGpfQjZsisBtaNlK/udYSf+542LR8mz+N9IPYbKGCoFGjfB5cYCO0Lh+apLkmwgKF1saj26HrOSAnSkXJ60xLj/oLNSMbhN3oxfn/zcXYJWvixUv30Ki0nfHlJhOfVM7qpcADkM2UwMPpXUP9dNQk1IGCeZNXe2hyBaXHmwDYMnrV9Xka+a3GqbFjM3aVakZaMuD6kP/xrd2fKxnwGUJ9tSt61ZnsQIwlG9dOe1ryWtisv8zNFehsaZDsi53a+SmKHZ5YaKPMUZ/uf3NIzTLS4Ujnj3Oi+K7KjGWMhwqFoi1Y516Wy4+1k2mMdsw04AUfNwunpJOi+iZDQDwD/31qcPY+hTonMM7GhiRpIZuLcvsynUGP5G6c6/bcgb79ZL7ec8YGW+M91HCYcpPw0fZvVXZeiqzNudZ4QwuKgtLHyw/QjOoi0PAvmUCkwSmbY+gdlXYnbMVMb29fPeRvRu00fACHACu7q+NLPcagjavrEhe++ryWXZB9SJej7aZHuK5s1mPvMqwCxWcTrwfOxKk7jI3gC9jTGX4csvWzdwM7CDabp4PU4oXmKjaM8UnG5jPQ2c4KvabsC72kD8gZCjkuUu6i+/hVZ1wTw/mbiIZu7a62mxX8v1t8TJ4+walohCjbgSeaSsY9EWncWFB66di5jUWG+xLbgpuBBis/C1y/QwKyl6ycf6 8xUE52ha LhEhcL48EsrmwZ0yEz6pu3nHOcN2vQU77/5pjkfNp0WvLWMMmzM86R0LlikeN4oaJLPuFhxdivYbDsRwoCyvcZnbShTYV5VxnVCoio48aYxkUDOyGA1Ieo/s/3WzQODWeyuR2TguwnelPV5+/V8/A7lHD2ROFSwwabaDhKGQbfGywPDRiKjXP4c6MAFjZpNeTok03hHvrdo3mOt/gFnx1D0C9/9gBbuDlgiuxp5dyAalUsTiFZQLsxesEgvmtoCu1ablfK0EVBJyM/wvBHxcz1rxoXeSWSg+15vZzrm1bBfNeil4w9i2vsOBoAhjrsNJQaYe+AsY5yjneij9swh/BSEDiWwLjoVrI6iEpeJKwAxMZhUbk0Bz3DamnwHDZf2cEFZiixxcCNDSRMN/dorie86NcbG3g3XnrXX+zsbazChezVKjLpyt7hxIslE6AMvy7i9gVQNUaR05NhzbgEFK4qemXyOdHnuyMYcNYgBterb7iufU2H15zW1IyUMB6Y6DoHDF0gkkqlE2ujlLo7TpTNEWFEcQOKmagvDUrmi2EWNTDqn+y/yi5YQqeRCXeEzn63bpiIG5sV/8jyMONjI4bmOkQoYfOiMDOJETyKNOjNE+J9z/cvT7hW2zSRw78LZsN2qtQ6jygaay5oQja6W6iUF23MQ== 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 Fri, Feb 24, 2023 at 7:16 AM Peter Collingbourne wrote: > > This reverts commit 487a32ec24be819e747af8c2ab0d5c515508086a. > > The should_skip_kasan_poison() function reads the PG_skip_kasan_poison > flag from page->flags. However, this line of code in free_pages_prepare(): > > page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; > > clears most of page->flags, including PG_skip_kasan_poison, before calling > should_skip_kasan_poison(), which meant that it would never return true > as a result of the page flag being set. Therefore, fix the code to call > should_skip_kasan_poison() before clearing the flags, as we were doing > before the reverted patch. > > Signed-off-by: Peter Collingbourne > Fixes: 487a32ec24be ("kasan: drop skip_kasan_poison variable in free_pages_prepare") > Cc: # 6.1 > Link: https://linux-review.googlesource.com/id/Ic4f13affeebd20548758438bb9ed9ca40e312b79 > --- > mm/page_alloc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index ac1fc986af44..7136c36c5d01 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1398,6 +1398,7 @@ static __always_inline bool free_pages_prepare(struct page *page, > unsigned int order, bool check_free, fpi_t fpi_flags) > { > int bad = 0; > + bool skip_kasan_poison = should_skip_kasan_poison(page, fpi_flags); > bool init = want_init_on_free(); > > VM_BUG_ON_PAGE(PageTail(page), page); > @@ -1470,7 +1471,7 @@ static __always_inline bool free_pages_prepare(struct page *page, > * With hardware tag-based KASAN, memory tags must be set before the > * page becomes unavailable via debug_pagealloc or arch_free_page. > */ > - if (!should_skip_kasan_poison(page, fpi_flags)) { > + if (!skip_kasan_poison) { > kasan_poison_pages(page, order, init); > > /* Memory is already initialized if KASAN did it internally. */ > -- > 2.39.2.637.g21b0678d19-goog > Reviewed-by: Andrey Konovalov Thank you for fixing this, Peter!