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 54234C43334 for ; Thu, 16 Jun 2022 08:43:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D368A6B0073; Thu, 16 Jun 2022 04:43:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CE60A6B0074; Thu, 16 Jun 2022 04:43:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD58F6B0075; Thu, 16 Jun 2022 04:43:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id AFB936B0073 for ; Thu, 16 Jun 2022 04:43:27 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 85FA435B1C for ; Thu, 16 Jun 2022 08:43:27 +0000 (UTC) X-FDA: 79583460054.26.4224ED0 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf25.hostedemail.com (Postfix) with ESMTP id E0E18A0039 for ; Thu, 16 Jun 2022 08:43:26 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7397C12FC; Thu, 16 Jun 2022 01:43:26 -0700 (PDT) Received: from [10.57.69.164] (unknown [10.57.69.164]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7F0ED3F7F5; Thu, 16 Jun 2022 01:43:24 -0700 (PDT) Message-ID: <72dd2ba6-3650-2d71-3027-0a17c46978a5@arm.com> Date: Thu, 16 Jun 2022 09:43:22 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v2 3/4] mm: kasan: Skip page unpoisoning only if __GFP_SKIP_KASAN_UNPOISON Content-Language: en-US To: Catalin Marinas , Andrey Ryabinin , Andrey Konovalov Cc: Will Deacon , Peter Collingbourne , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org References: <20220610152141.2148929-1-catalin.marinas@arm.com> <20220610152141.2148929-4-catalin.marinas@arm.com> From: Vincenzo Frascino In-Reply-To: <20220610152141.2148929-4-catalin.marinas@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655369007; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=j8pxUgTGnrr2bMHaOyK806sYPY/0uqx4pIpmlPYEC6g=; b=jdxlKnjZ4JbP53D8gzts9Jqdq3sihyMBplXIY4f5poLuRiOv1AUc0Wo9Xn6B7nliuyr3+v JwRuKPJoguvr5Bnr8lCVNPg6gnbyG0zHg+PLh0LpfJu8/mjHW9bBBDmRHwW+B3DHKVrHU6 C+ppyZQsOt8jV4BkwNw/vcYLQVxUOiU= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf25.hostedemail.com: domain of vincenzo.frascino@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=vincenzo.frascino@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1655369007; a=rsa-sha256; cv=none; b=gyaQtj6xRwRlsEwJUh+BA2eUIibB+GmVcSk47wXD0CJPR4TPm6LxQjNClkKNCzhFHuCg/N DBCMHj3QpwPcnP161QCJiu4cqZfgEdWCqTywELTpGEGeDMI/RmhF8p/g4Eiv16XAjZkbyl hrUqaArRguT40z6kNE7jZaOa1Z0MtGI= X-Stat-Signature: ox6r41jpx6fuxb15wjhe8gbtrtjdim4a X-Rspamd-Queue-Id: E0E18A0039 X-Rspam-User: X-Rspamd-Server: rspam05 Authentication-Results: imf25.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf25.hostedemail.com: domain of vincenzo.frascino@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=vincenzo.frascino@arm.com X-HE-Tag: 1655369006-553512 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 6/10/22 16:21, Catalin Marinas wrote: > Currently post_alloc_hook() skips the kasan unpoisoning if the tags will > be zeroed (__GFP_ZEROTAGS) or __GFP_SKIP_KASAN_UNPOISON is passed. Since > __GFP_ZEROTAGS is now accompanied by __GFP_SKIP_KASAN_UNPOISON, remove > the extra check. > > Signed-off-by: Catalin Marinas > Cc: Andrey Ryabinin > Cc: Andrey Konovalov > Cc: Peter Collingbourne > Cc: Vincenzo Frascino Reviewed-by: Vincenzo Frascino > --- > mm/page_alloc.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index f6ed240870bc..bf45a6aa407a 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -2361,7 +2361,7 @@ static inline bool check_new_pcp(struct page *page, unsigned int order) > } > #endif /* CONFIG_DEBUG_VM */ > > -static inline bool should_skip_kasan_unpoison(gfp_t flags, bool init_tags) > +static inline bool should_skip_kasan_unpoison(gfp_t flags) > { > /* Don't skip if a software KASAN mode is enabled. */ > if (IS_ENABLED(CONFIG_KASAN_GENERIC) || > @@ -2373,12 +2373,10 @@ static inline bool should_skip_kasan_unpoison(gfp_t flags, bool init_tags) > return true; > > /* > - * With hardware tag-based KASAN enabled, skip if either: > - * > - * 1. Memory tags have already been cleared via tag_clear_highpage(). > - * 2. Skipping has been requested via __GFP_SKIP_KASAN_UNPOISON. > + * With hardware tag-based KASAN enabled, skip if this has been > + * requested via __GFP_SKIP_KASAN_UNPOISON. > */ > - return init_tags || (flags & __GFP_SKIP_KASAN_UNPOISON); > + return flags & __GFP_SKIP_KASAN_UNPOISON; > } > > static inline bool should_skip_init(gfp_t flags) > @@ -2430,7 +2428,7 @@ inline void post_alloc_hook(struct page *page, unsigned int order, > /* Note that memory is already initialized by the loop above. */ > init = false; > } > - if (!should_skip_kasan_unpoison(gfp_flags, init_tags)) { > + if (!should_skip_kasan_unpoison(gfp_flags)) { > /* Unpoison shadow memory or set memory tags. */ > kasan_unpoison_pages(page, order, init); > -- Regards, Vincenzo