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 59BBCC433F5 for ; Mon, 13 Dec 2021 22:14:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 20E8A6B0080; Mon, 13 Dec 2021 16:57:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1BD6D6B009E; Mon, 13 Dec 2021 16:57:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 00FDF6B00A3; Mon, 13 Dec 2021 16:57:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay037.a.hostedemail.com [64.99.140.37]) by kanga.kvack.org (Postfix) with ESMTP id E37206B0080 for ; Mon, 13 Dec 2021 16:57:26 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay13.hostedemail.com (Postfix) with ESMTP id BA6C460241 for ; Mon, 13 Dec 2021 21:57:16 +0000 (UTC) X-FDA: 78914132472.04.82627D2 Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) by imf05.hostedemail.com (Postfix) with ESMTP id 5C14810000C for ; Mon, 13 Dec 2021 21:57:16 +0000 (UTC) Received: by mail-io1-f50.google.com with SMTP id b187so20594928iof.11 for ; Mon, 13 Dec 2021 13:57:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SMKUwfdVnZa0OC/+PlApSfDHQCaCth1VpxrX4nAiO2A=; b=ic0VaoHZRb6KjXHIJ3P+2qZGi8j7+ESfuWNH5jXxukMRB/UeYCBIULZCpgwxV/LTJA +OuksLZgOljy73DZeiFIyo4CHIHPJRsot81EcZK0HMqGAeved3eeruKibnE1vQFk/QOM 0ZnHOgTJ/J9nu1/ENFbVzXnsXyI5ZDNR5tPOajcwg2HvmLbGbzJD9Y/C2GCOjShgtc1/ m8zmk8F0OOh7T1WzI6zzvRPEppf8y/gAimwGCHf4CxAOxCMk1DjdTCT25IAcxOu9QX03 aACzybsyQxehSm7g4oYLMqdRj6um078xfE58+gEo1TXQCQHiiwN5Dw5NVl3V5rSQJ0zM gvpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SMKUwfdVnZa0OC/+PlApSfDHQCaCth1VpxrX4nAiO2A=; b=0hlK7uaybdzMb2e08uiCC4LWowXroUpmEsv1qop3I7JT4pHwY3M+WB5Qft1EV+fg2X FegCPdTuRpReBIm0T+U6fcLhETIVHIyIgYzcEC9obBsKYQ1hefEtcZA2E9X7Ol3T0fVF yXAGdSBFbDgdv06qgcatSNPKFCfObgtouN3xa1+6rOQkYyTF5jmymbwsp/kS/9c9xtaR 2urQrfk/rsZ0JniD6DRX/g7gakssItROGZ1ej39egF60mIOLeRH2uBGskSYx/9eyhK2q KeNv/0QBo/PwZh3ICLezVhW43W+bSaRJvuRqPhrq0Hn7jQycGp2XwMxpUZU/kn55ZaPv 0q3w== X-Gm-Message-State: AOAM5336SdfWVVKanra4BMsT5CUj/xZNI2FbhoLGmJO4vl0eMq0WeSzu tQps4M4VcPiVp4JlKgBVHnKUEx97S0qHFv7C/X4= X-Google-Smtp-Source: ABdhPJzEm7BmcDz3kvXaVml6MCEm0bMB1AEfgSyLQveI2p4I5q9R2vEr5vD0+TNs9r9GQeXSfrkedE+vghQ57a6w0dE= X-Received: by 2002:a05:6638:2608:: with SMTP id m8mr562528jat.57.1639432635722; Mon, 13 Dec 2021 13:57:15 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Andrey Konovalov Date: Mon, 13 Dec 2021 22:57:05 +0100 Message-ID: Subject: Re: [PATCH v2 08/34] kasan: only apply __GFP_ZEROTAGS when memory is zeroed To: Catalin Marinas Cc: andrey.konovalov@linux.dev, Marco Elver , Alexander Potapenko , Vincenzo Frascino , Peter Collingbourne , Dmitry Vyukov , Andrey Ryabinin , kasan-dev , Andrew Morton , Linux Memory Management List , Will Deacon , Mark Rutland , Linux ARM , Evgenii Stepanov , LKML , Andrey Konovalov Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 5C14810000C X-Stat-Signature: x34cu5b9mqghyne5r4196q819ejyh6e6 Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=ic0VaoHZ; spf=pass (imf05.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.166.50 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-HE-Tag: 1639432636-212983 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, Dec 10, 2021 at 6:48 PM Catalin Marinas wrote: > > On Mon, Dec 06, 2021 at 10:43:45PM +0100, andrey.konovalov@linux.dev wrote: > > From: Andrey Konovalov > > > > __GFP_ZEROTAGS should only be effective if memory is being zeroed. > > Currently, hardware tag-based KASAN violates this requirement. > > > > Fix by including an initialization check along with checking for > > __GFP_ZEROTAGS. > > > > Signed-off-by: Andrey Konovalov > > Reviewed-by: Alexander Potapenko > > --- > > mm/kasan/hw_tags.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/mm/kasan/hw_tags.c b/mm/kasan/hw_tags.c > > index 0b8225add2e4..c643740b8599 100644 > > --- a/mm/kasan/hw_tags.c > > +++ b/mm/kasan/hw_tags.c > > @@ -199,11 +199,12 @@ void kasan_alloc_pages(struct page *page, unsigned int order, gfp_t flags) > > * page_alloc.c. > > */ > > bool init = !want_init_on_free() && want_init_on_alloc(flags); > > + bool init_tags = init && (flags & __GFP_ZEROTAGS); > > > > if (flags & __GFP_SKIP_KASAN_POISON) > > SetPageSkipKASanPoison(page); > > > > - if (flags & __GFP_ZEROTAGS) { > > + if (init_tags) { > > You can probably leave this unchanged but add a WARN_ON_ONCE() if !init. > AFAICT there's only a single place where __GFP_ZEROTAGS is passed. Yes, there's only one such place. In a later patch, I implement handling __GFP_ZEROTAGS in regardless of having __GFP_ZERO present or not, so adding WARN_ON() here and then removing it probably doesn't make much sense. As per what you said in the other message, I've left this unchanged. Thanks!