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 6FA8FC433F5 for ; Wed, 23 Mar 2022 11:48:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C525C6B0072; Wed, 23 Mar 2022 07:48:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BDB3C6B0073; Wed, 23 Mar 2022 07:48:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A53E26B0074; Wed, 23 Mar 2022 07:48:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0049.hostedemail.com [216.40.44.49]) by kanga.kvack.org (Postfix) with ESMTP id 93AEA6B0072 for ; Wed, 23 Mar 2022 07:48:32 -0400 (EDT) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 4888FA3ED8 for ; Wed, 23 Mar 2022 11:48:32 +0000 (UTC) X-FDA: 79275478464.19.82E9B52 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf14.hostedemail.com (Postfix) with ESMTP id B5D6910001F for ; Wed, 23 Mar 2022 11:48:31 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id AFF561F37F; Wed, 23 Mar 2022 11:48:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1648036110; h=from:from:reply-to: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=8PjZDyXTMEaHn2duElkoOX449JsJoEUnBONEtu7w2ec=; b=due7XOdwWAhr4mm91mYQhKVwvAMCG2rQKP2uXlTwqfKfl4ku+qD1DsAib8OrR55mnx+ZY7 Jd4TR5wNe0iP0z6c+r4kPl5VbHs3RK71Gjl+6/w5lbIkRVhKJ/AZt60wCgLTT9sahzgQWX GTUbNeoRADoV9ynIrIuZQdLONgSHCkE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1648036110; h=from:from:reply-to: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=8PjZDyXTMEaHn2duElkoOX449JsJoEUnBONEtu7w2ec=; b=DNkYmWTOmcSlx4Nc5GwO5uYnK/Ad6vKfQeZQf9Z1wFc36uOnRNLB6P/+2yJ0a4xmliCUxM dS8jETBVmqgPScBg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 38B4413A78; Wed, 23 Mar 2022 11:48:30 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id CqUDDA4JO2IdcgAAMHmgww (envelope-from ); Wed, 23 Mar 2022 11:48:30 +0000 Message-ID: <63704e10-18cf-9a82-cffb-052c6046ba7d@suse.cz> Date: Wed, 23 Mar 2022 12:48:29 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH v6 27/39] kasan, mm: only define ___GFP_SKIP_KASAN_POISON with HW_TAGS Content-Language: en-US To: andrey.konovalov@linux.dev, Andrew Morton , Sebastian Andrzej Siewior Cc: Andrey Konovalov , Marco Elver , Alexander Potapenko , Dmitry Vyukov , Andrey Ryabinin , kasan-dev@googlegroups.com, linux-mm@kvack.org, Vincenzo Frascino , Catalin Marinas , Will Deacon , Mark Rutland , linux-arm-kernel@lists.infradead.org, Peter Collingbourne , Evgenii Stepanov , linux-kernel@vger.kernel.org, Andrey Konovalov References: <44e5738a584c11801b2b8f1231898918efc8634a.1643047180.git.andreyknvl@google.com> From: Vlastimil Babka In-Reply-To: <44e5738a584c11801b2b8f1231898918efc8634a.1643047180.git.andreyknvl@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=due7XOdw; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=DNkYmWTO; spf=pass (imf14.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.29 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none X-Stat-Signature: 57id4s3tkr6s5dqjrqof5sdp7zpnue1j X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: B5D6910001F X-HE-Tag: 1648036111-137443 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 1/24/22 19:05, andrey.konovalov@linux.dev wrote: > From: Andrey Konovalov > > Only define the ___GFP_SKIP_KASAN_POISON flag when CONFIG_KASAN_HW_TAGS > is enabled. > > This patch it not useful by itself, but it prepares the code for > additions of new KASAN-specific GFP patches. > > Signed-off-by: Andrey Konovalov > > --- > > Changes v3->v4: > - This is a new patch. > --- > include/linux/gfp.h | 8 +++++++- > include/trace/events/mmflags.h | 12 +++++++++--- > 2 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/include/linux/gfp.h b/include/linux/gfp.h > index 581a1f47b8a2..96f707931770 100644 > --- a/include/linux/gfp.h > +++ b/include/linux/gfp.h > @@ -54,7 +54,11 @@ struct vm_area_struct; > #define ___GFP_THISNODE 0x200000u > #define ___GFP_ACCOUNT 0x400000u > #define ___GFP_ZEROTAGS 0x800000u > +#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/ > #define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1)) > > /** > diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h > index 116ed4d5d0f8..cb4520374e2c 100644 > --- a/include/trace/events/mmflags.h > +++ b/include/trace/events/mmflags.h > @@ -49,12 +49,18 @@ > {(unsigned long)__GFP_RECLAIM, "__GFP_RECLAIM"}, \ > {(unsigned long)__GFP_DIRECT_RECLAIM, "__GFP_DIRECT_RECLAIM"},\ > {(unsigned long)__GFP_KSWAPD_RECLAIM, "__GFP_KSWAPD_RECLAIM"},\ > - {(unsigned long)__GFP_ZEROTAGS, "__GFP_ZEROTAGS"}, \ > - {(unsigned long)__GFP_SKIP_KASAN_POISON,"__GFP_SKIP_KASAN_POISON"}\ > + {(unsigned long)__GFP_ZEROTAGS, "__GFP_ZEROTAGS"} \ > + > +#ifdef CONFIG_KASAN_HW_TAGS > +#define __def_gfpflag_names_kasan \ > + , {(unsigned long)__GFP_SKIP_KASAN_POISON, "__GFP_SKIP_KASAN_POISON"} > +#else > +#define __def_gfpflag_names_kasan > +#endif > > #define show_gfp_flags(flags) \ > (flags) ? __print_flags(flags, "|", \ > - __def_gfpflag_names \ > + __def_gfpflag_names __def_gfpflag_names_kasan \ > ) : "none" > > #ifdef CONFIG_MMU