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 79E49C433EF for ; Wed, 23 Mar 2022 13:36:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C72496B0072; Wed, 23 Mar 2022 09:36:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C22376B0073; Wed, 23 Mar 2022 09:36:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A9BC56B0074; Wed, 23 Mar 2022 09:36:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0100.hostedemail.com [216.40.44.100]) by kanga.kvack.org (Postfix) with ESMTP id 9A28E6B0072 for ; Wed, 23 Mar 2022 09:36:41 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 59A4BA0FAD for ; Wed, 23 Mar 2022 13:36:41 +0000 (UTC) X-FDA: 79275751002.30.15C6ABA Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by imf13.hostedemail.com (Postfix) with ESMTP id CC60920028 for ; Wed, 23 Mar 2022 13:36:40 +0000 (UTC) Received: by mail-io1-f51.google.com with SMTP id p22so1690545iod.2 for ; Wed, 23 Mar 2022 06:36:40 -0700 (PDT) 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=0FQgYBAsErSA0oer7QMlQ/bPAVMnnC+mA8O5EU9gYhE=; b=NRryz7C/CBrDgsQBcaN2kMLAwOzoDH2ug5A383MR3vdPIM05sEaWuMxYA+dWsnERtd WEF3wo/5Ggo92cgi4BjRtv9NYLZlx6mGxAkPDRtcL+eDzmhIPAvM7SoLiRLPpSGrQckb mqXoB1djf+8/rdhZ1rwqKIKZZqmoixyaRhzX1mhxaCDvtl1tUZ3q0/QgMe46t6fa6fTo blojXPt48hKe8DzkMltRNkP7i5qekdL/bi0RZYA10fK/EGfeEkI8/Ie2hMr8kl/oBKTb sozfGvxECdMjZtgsoRIFkPPmnu2LBB3fz+09DaSryPwEctuNmKI32yvZKOZSFLpMCFNU TAlQ== 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=0FQgYBAsErSA0oer7QMlQ/bPAVMnnC+mA8O5EU9gYhE=; b=7HZiUsK9tIKW5pr+ADGOMBObCgHQJw7Revfvd8sJS3Z9az+DtHS/HAMdby5hxHmXl1 TaldUvtHwrgy28DMQmyZlXhWAkjrbQz7ARLg0sZp7T/Q1WYJRzbBgbBsXBaK6urfbuXq kF5MELPn9q97tiweFziSdL6vfgNnzQJ6J1dY1+Ge1/9D3b7C5Cf7wanUk8cOBm747TnH Emtrp0X4GgYGO3ClQ3mlVe4RQNPcRzPPpekZlPQUaQSbbnqQoQ1Fn267omxiFdJoYrm8 36O37Tet6cOAjNSZ1o1scq4hmc8JhB27epQy31giE2Sb4vOD3/5SrBp4jddko6Xm3xyn n2xA== X-Gm-Message-State: AOAM532DSS9B4JcMdgPY+sB1XIwDuZpaya8bEAgsXXXEhxfHqgLcDoke weU0fs7adOsBhckHp0DhX7nSlwDHdCpJe7DFN9Q= X-Google-Smtp-Source: ABdhPJz6vyLn/hfvoZ5H7cTB+dmb5THdx0hRYenJ9lwl09n52Z7nCI+eX+KvZKpsuMSGNFrjCWKcDHmceXzeblftEgc= X-Received: by 2002:a05:6638:4881:b0:321:6522:2cbd with SMTP id ct1-20020a056638488100b0032165222cbdmr3282446jab.9.1648042600126; Wed, 23 Mar 2022 06:36:40 -0700 (PDT) MIME-Version: 1.0 References: <44e5738a584c11801b2b8f1231898918efc8634a.1643047180.git.andreyknvl@google.com> <63704e10-18cf-9a82-cffb-052c6046ba7d@suse.cz> In-Reply-To: From: Andrey Konovalov Date: Wed, 23 Mar 2022 14:36:29 +0100 Message-ID: Subject: Re: [PATCH v6 27/39] kasan, mm: only define ___GFP_SKIP_KASAN_POISON with HW_TAGS To: Sebastian Andrzej Siewior , Andrew Morton , Vlastimil Babka Cc: andrey.konovalov@linux.dev, Marco Elver , Alexander Potapenko , Dmitry Vyukov , Andrey Ryabinin , kasan-dev , Linux Memory Management List , Vincenzo Frascino , Catalin Marinas , Will Deacon , Mark Rutland , Linux ARM , Peter Collingbourne , Evgenii Stepanov , LKML , Andrey Konovalov Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CC60920028 X-Rspam-User: Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="NRryz7C/"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.166.51 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com X-Stat-Signature: if9k5ierqg49tmkos6ajmzdeera6m67g X-HE-Tag: 1648042600-922878 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 Wed, Mar 23, 2022 at 2:02 PM Sebastian Andrzej Siewior wrote: > > On 2022-03-23 12:48:29 [+0100], Vlastimil Babka wrote: > > > +#ifdef CONFIG_KASAN_HW_TAGS > > > #define ___GFP_SKIP_KASAN_POISON 0x1000000u > > > +#else > > > +#define ___GFP_SKIP_KASAN_POISON 0 > > > +#endif > > > #ifdef CONFIG_LOCKDEP > > > #define ___GFP_NOLOCKDEP 0x2000000u > > > #else > > > @@ -251,7 +255,9 @@ struct vm_area_struct; > > > #define __GFP_NOLOCKDEP ((__force gfp_t)___GFP_NOLOCKDEP) > > > > > > /* Room for N __GFP_FOO bits */ > > > -#define __GFP_BITS_SHIFT (25 + IS_ENABLED(CONFIG_LOCKDEP)) > > > +#define __GFP_BITS_SHIFT (24 + \ > > > + IS_ENABLED(CONFIG_KASAN_HW_TAGS) + \ > > > + IS_ENABLED(CONFIG_LOCKDEP)) > > > > This breaks __GFP_NOLOCKDEP, see: > > https://lore.kernel.org/all/YjoJ4CzB3yfWSV1F@linutronix.de/ > > This could work because ___GFP_NOLOCKDEP is still 0x2000000u. In > ("kasan, page_alloc: allow skipping memory init for HW_TAGS") > https://lore.kernel.org/all/0d53efeff345de7d708e0baa0d8829167772521e.1643047180.git.andreyknvl@google.com/ > > This is replaced with 0x8000000u which breaks lockdep. > > Sebastian Hi Sebastian, Indeed, sorry for breaking lockdep. Thank you for the report! I wonder what's the proper fix for this. Perhaps, don't hide KASAN GFP bits under CONFIG_KASAN_HW_TAGS? And then do: #define __GFP_BITS_SHIFT (27 + IS_ENABLED(CONFIG_LOCKDEP)) Vlastimil, Andrew do you have any preference? If my suggestion sounds good, Andrew, could you directly apply the changes? They are needed for these 3 patches: kasan, page_alloc: allow skipping memory init for HW_TAGS kasan, page_alloc: allow skipping unpoisoning for HW_TAGS kasan, mm: only define ___GFP_SKIP_KASAN_POISON with HW_TAGS As these depend on each other, I can't send separate patches that can be folded for all 3. Thanks!