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 X-Spam-Level: X-Spam-Status: No, score=-14.3 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4D876C432C3 for ; Wed, 27 Nov 2019 14:48:22 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 04FC720678 for ; Wed, 27 Nov 2019 14:48:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="O56ySJpQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 04FC720678 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 8F9B56B04AF; Wed, 27 Nov 2019 09:48:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8ABD16B04B0; Wed, 27 Nov 2019 09:48:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 799B16B04B1; Wed, 27 Nov 2019 09:48:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0104.hostedemail.com [216.40.44.104]) by kanga.kvack.org (Postfix) with ESMTP id 634CA6B04AF for ; Wed, 27 Nov 2019 09:48:21 -0500 (EST) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with SMTP id 2C6512478 for ; Wed, 27 Nov 2019 14:48:21 +0000 (UTC) X-FDA: 76202338002.19.arch70_ea56d07b190c X-HE-Tag: arch70_ea56d07b190c X-Filterd-Recvd-Size: 6258 Received: from mail-oi1-f195.google.com (mail-oi1-f195.google.com [209.85.167.195]) by imf34.hostedemail.com (Postfix) with ESMTP for ; Wed, 27 Nov 2019 14:48:20 +0000 (UTC) Received: by mail-oi1-f195.google.com with SMTP id j7so20330333oib.3 for ; Wed, 27 Nov 2019 06:48:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=O9yyai6lll7k+ODkHHWVIC1+vuBzumHUsxv6M7XMcL0=; b=O56ySJpQ3cyRzyB4hazkt5ZHjhYLaoC0UKzcZlLGuz1uSLHk2OI+s8oKK1/AP66Xko dLvX+XXPnABCsHHFZyvUikxTqoZr3+ybVjMaVFfn9RAToJhwlr5XeZVisIr9qSDphJwE wU7v3vy50p2BXlI+v03CGP4ghDrHUWIiY8P6+51ZThDyxbqccMZZufmuWA6JALOymo+q CidRm9/grkF9KQBRTC6vCcjsdiijP2pnRHy7/YO8ezRVymR+nVGhxXGnsiR199kyYEp/ uSpABj86JUnz3tlpgWBowFu48hMHpL4EX84Ibhxy2y3a9B/8WvPD5MhsSlVJhAg9klRU itcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=O9yyai6lll7k+ODkHHWVIC1+vuBzumHUsxv6M7XMcL0=; b=b8Jo22K3NBZIW58JELIgwsDd3e6e6cOHh6mH6ZwORbBREsn8FW2Kcfg8QUi7dwUzvJ 2jaIeHOChxnYwL8tibOrt6VN/7liHtEWkExEiDq9M+/lwKXcVbcguDXdW3/S5sdWaG/q ExtqDQjsm1ofdZw0g7bYYfJQjMv5TSAg9/xvnkG5MZOO2sYmmRXxUupebV1m+2JUpEK7 FysHbx6/KCIATVb6N3cp4O7Gikfv75008lVoR3f68MyVnTeuxtcI94ZpEF+ggBQu94DJ J+MPFOf4zK2H4lf5Ney68M1Fdupc45323W8VByP63XULp/V4hkOWXyAgxbquQ+Vwm5jm giag== X-Gm-Message-State: APjAAAV1Qyfc0WvQZc4Zkg4hMXG3p37wBFskFZdGy8CQB34IphIeO9Wf R47YxiQfF9I3z8FXU7zJGW7FxUDyvx97WNnOKQG7dQ== X-Google-Smtp-Source: APXvYqyXinYQtdG9Mfux6t6oFpKU2JfndlwbOWoiLjWDqpWUenBLlXjmggeVQD8z7r+Hi0HHBTe4cLydNF3T1jovVB0= X-Received: by 2002:aca:d4c1:: with SMTP id l184mr4508134oig.172.1574866099435; Wed, 27 Nov 2019 06:48:19 -0800 (PST) MIME-Version: 1.0 References: <20191122112621.204798-1-glider@google.com> <20191122112621.204798-7-glider@google.com> In-Reply-To: <20191122112621.204798-7-glider@google.com> From: Marco Elver Date: Wed, 27 Nov 2019 15:48:08 +0100 Message-ID: Subject: Re: [PATCH RFC v3 06/36] kmsan: gfp: introduce __GFP_NO_KMSAN_SHADOW To: Alexander Potapenko Cc: Vegard Nossum , Andrew Morton , Dmitry Vyukov , Linux Memory Management List , Al Viro , adilger.kernel@dilger.ca, Andrey Konovalov , Andrey Ryabinin , Andy Lutomirski , Ard Biesheuvel , Arnd Bergmann , hch@infradead.org, hch@lst.de, darrick.wong@oracle.com, davem@davemloft.net, dmitry.torokhov@gmail.com, ebiggers@google.com, Eric Dumazet , ericvh@gmail.com, gregkh@linuxfoundation.org, harry.wentland@amd.com, herbert@gondor.apana.org.au, iii@linux.ibm.com, mingo@elte.hu, jasowang@redhat.com, axboe@kernel.dk, m.szyprowski@samsung.com, Mark Rutland , martin.petersen@oracle.com, schwidefsky@de.ibm.com, Matthew Wilcox , mst@redhat.com, monstr@monstr.eu, pmladek@suse.com, Qian Cai , Randy Dunlap , robin.murphy@arm.com, Sergey Senozhatsky , Steven Rostedt , tiwai@suse.com, tytso@mit.edu, Thomas Gleixner , gor@linux.ibm.com, wsa@the-dreams.de Content-Type: text/plain; charset="UTF-8" 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, 22 Nov 2019 at 12:26, wrote: > > This flag is to be used by KMSAN runtime to mark that newly created > memory pages don't need KMSAN metadata backing them. > > Signed-off-by: Alexander Potapenko > To: Alexander Potapenko > Cc: Vegard Nossum > Cc: Andrew Morton > Cc: Dmitry Vyukov > Cc: linux-mm@kvack.org > > --- > We can't decide what to do here: > - do we need to conditionally define ___GFP_NO_KMSAN_SHADOW depending on > CONFIG_KMSAN like LOCKDEP does? > - if KMSAN is defined, and LOCKDEP is not, do we want to "compactify" the GFP > bits? A maintainer would know the real answer, but this is my guess: making the behaviour not change without KMSAN would probably be better. It would require some ifdef trickery to deal with LOCKDEP on/off case though. > Change-Id: If5d0352fd5711ad103328e2c185eb885e826423a > --- > include/linux/gfp.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/include/linux/gfp.h b/include/linux/gfp.h > index fb07b503dc45..b4e7963cd94b 100644 > --- a/include/linux/gfp.h > +++ b/include/linux/gfp.h > @@ -44,6 +44,7 @@ struct vm_area_struct; > #else > #define ___GFP_NOLOCKDEP 0 > #endif Since this change unconditionally changes GFP_BITS_SHIFT to 25, the #ifdef for GFP_NOLOCKDEP could also go away -- but: see above. > +#define ___GFP_NO_KMSAN_SHADOW 0x1000000u > /* If the above are modified, __GFP_BITS_SHIFT may need updating */ > > /* > @@ -212,12 +213,13 @@ struct vm_area_struct; > #define __GFP_NOWARN ((__force gfp_t)___GFP_NOWARN) > #define __GFP_COMP ((__force gfp_t)___GFP_COMP) > #define __GFP_ZERO ((__force gfp_t)___GFP_ZERO) > +#define __GFP_NO_KMSAN_SHADOW ((__force gfp_t)___GFP_NO_KMSAN_SHADOW) Should this be ordered after __GFP_NOLOCKDEP with a brief comment what it does? All of these up to __GFP_ZERO have a doc comment above. > /* Disable lockdep for GFP context tracking */ > #define __GFP_NOLOCKDEP ((__force gfp_t)___GFP_NOLOCKDEP) > > /* Room for N __GFP_FOO bits */ > -#define __GFP_BITS_SHIFT (23 + IS_ENABLED(CONFIG_LOCKDEP)) > +#define __GFP_BITS_SHIFT (25) > #define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1)) > > /** > -- > 2.24.0.432.g9d3f5f5b63-goog >