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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C399C433EF for ; Thu, 2 Jun 2022 15:43:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236515AbiFBPnM (ORCPT ); Thu, 2 Jun 2022 11:43:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232621AbiFBPnL (ORCPT ); Thu, 2 Jun 2022 11:43:11 -0400 Received: from out30-43.freemail.mail.aliyun.com (out30-43.freemail.mail.aliyun.com [115.124.30.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8E5332A6880; Thu, 2 Jun 2022 08:43:09 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R191e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=alimailimapcm10staff010182156082;MF=xhao@linux.alibaba.com;NM=1;PH=DS;RN=7;SR=0;TI=SMTPD_---0VFBKBJM_1654184584; Received: from localhost.localdomain(mailfrom:xhao@linux.alibaba.com fp:SMTPD_---0VFBKBJM_1654184584) by smtp.aliyun-inc.com(127.0.0.1); Thu, 02 Jun 2022 23:43:05 +0800 From: Xin Hao To: changbin.du@intel.com Cc: sashal@kernel.org, akpm@linux-foundation.org, adobriyan@gmail.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, xhao@linux.alibaba.com Subject: [PATCH] proc: export page young and skip_kasan_poison flag via kpageflags Date: Thu, 2 Jun 2022 23:43:02 +0800 Message-Id: <20220602154302.12634-1-xhao@linux.alibaba.com> X-Mailer: git-send-email 2.31.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org Now the young and skip_kasan_poison flag are supported in show_page_flags(), but we can not get them from /proc/kpageflags, So there add them. Signed-off-by: Xin Hao --- fs/proc/page.c | 6 ++++++ include/linux/kernel-page-flags.h | 2 ++ tools/vm/page-types.c | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/fs/proc/page.c b/fs/proc/page.c index 9f1077d94cde..fd28e1d92c5c 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -220,6 +220,12 @@ u64 stable_page_flags(struct page *page) #ifdef CONFIG_64BIT u |= kpf_copy_bit(k, KPF_ARCH_2, PG_arch_2); #endif +#if defined(CONFIG_PAGE_IDLE_FLAG) && defined(CONFIG_64BIT) + u |= kpf_copy_bit(k, KPF_YOUNG, PG_young); +#endif +#ifdef CONFIG_KASAN_HW_TAGS + u |= kpf_copy_bit(k, KPF_SKIP_KASAN_POSION, PG_skip_kasan_poison); +#endif return u; }; diff --git a/include/linux/kernel-page-flags.h b/include/linux/kernel-page-flags.h index eee1877a354e..30aaa0ee4ca9 100644 --- a/include/linux/kernel-page-flags.h +++ b/include/linux/kernel-page-flags.h @@ -18,5 +18,7 @@ #define KPF_UNCACHED 39 #define KPF_SOFTDIRTY 40 #define KPF_ARCH_2 41 +#define KPF_YOUNG 42 +#define KPF_SKIP_KASAN_POSION 43 #endif /* LINUX_KERNEL_PAGE_FLAGS_H */ diff --git a/tools/vm/page-types.c b/tools/vm/page-types.c index b1ed76d9a979..2671b746d11f 100644 --- a/tools/vm/page-types.c +++ b/tools/vm/page-types.c @@ -79,6 +79,8 @@ #define KPF_UNCACHED 39 #define KPF_SOFTDIRTY 40 #define KPF_ARCH_2 41 +#define KPF_YOUNG 42 +#define KPF_SKIP_KASAN_POSION 43 /* [48-] take some arbitrary free slots for expanding overloaded flags * not part of kernel API @@ -137,6 +139,8 @@ static const char * const page_flag_names[] = { [KPF_UNCACHED] = "c:uncached", [KPF_SOFTDIRTY] = "f:softdirty", [KPF_ARCH_2] = "H:arch_2", + [KPF_YOUNG] = "y:young", + [KPF_SKIP_KASAN_POSION] = "K:skip_kasan_posion", [KPF_READAHEAD] = "I:readahead", [KPF_SLOB_FREE] = "P:slob_free", -- 2.31.0