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 311E7CFC505 for ; Tue, 15 Oct 2024 01:34:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B9B9B6B00A7; Mon, 14 Oct 2024 21:34:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B256D6B00A8; Mon, 14 Oct 2024 21:34:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C5826B00A9; Mon, 14 Oct 2024 21:34:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 7A9D66B00A7 for ; Mon, 14 Oct 2024 21:34:48 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 658101A03A1 for ; Tue, 15 Oct 2024 01:34:33 +0000 (UTC) X-FDA: 82674117330.11.EB9BC4C Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by imf21.hostedemail.com (Postfix) with ESMTP id 4F75B1C000F for ; Tue, 15 Oct 2024 01:34:33 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=M1tghm0F; spf=pass (imf21.hostedemail.com: domain of ritesh.list@gmail.com designates 209.85.210.169 as permitted sender) smtp.mailfrom=ritesh.list@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728956013; a=rsa-sha256; cv=none; b=UzbYEeaiult4C12uxA5mnkvj/STALPvWelrZTHrXJRRW6Uhm/cPeHBmrjZMYAYfsH/A+xJ GBZ/d63+6gywkkDhk+M7AwcBPaKAEHirhsqkOcmGOUHGXQeCES0ZoUrJpp/JYSMJR75IKu o7swmxq3z9dJZPcRPCnsB8fXXfQyW1Q= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=M1tghm0F; spf=pass (imf21.hostedemail.com: domain of ritesh.list@gmail.com designates 209.85.210.169 as permitted sender) smtp.mailfrom=ritesh.list@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728956013; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=t5daj1tikBz1GmvjDxbc2gCsvgSNJoz/zYutj+6dtSk=; b=z8zRzVjsQhpWOO8SNld2ZU9/58dk4qiHHL6sF5whhVh77lxOq+9wlgtfzpGTZfGLQBWsTt frqAVZEynAVojSBLHO01k7MpwptexeSexjWwOZE7vILhgB8Nf7vbZSFOjfs8E4qdxMRsjW McGstYD2SIaRsEi1X6H1RcDNk+9VxMM= Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-71e6f085715so926891b3a.2 for ; Mon, 14 Oct 2024 18:34:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728956085; x=1729560885; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t5daj1tikBz1GmvjDxbc2gCsvgSNJoz/zYutj+6dtSk=; b=M1tghm0FFZuNei25lpQsSqII5k1BkSBMOA1EB2UhtXmVjyNLacl/jTBi77NKG9Rx+d RaoIVN51PVsiOTrc7SC56B2/ZskOn6VRL18FgJ3j9R1NLgKUZohmFQyDKNr4M7llgBu+ f7q26O4JTDuaAGgt6bs3jXRkt9NemElElhIam0aTC4C+dGeYsZktEBj/WqNiXpaDviio IzjQYoAVhuUyUZ/Q7suN0R5dkwzDxfnWoBMyijZseeoGbJBkbcOZ1nA+NTzlhYLms/i9 mafheZvihkf4Rvve07Rid0oRjpnfEPPTzddKh9xopWkQV7tES0WUzhN/3PEi71ppqQQU BnyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728956085; x=1729560885; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t5daj1tikBz1GmvjDxbc2gCsvgSNJoz/zYutj+6dtSk=; b=gEnMorkpwRuxdIJKdjuS6C674CiCKrE7Lxj02mza9I157MI7KJeBals51QDcbs0zaY 0sWS5ePhhl533GvKVKZWfXpwz3FsOzn5cecOdqlWl0y1EU8uNeeoJz2GKxRvw6hX8OHg tK64ZReZL0vptF4nhU+pO7HGEWgbzz1GVXwBBQ09wtjEIzqzn4EkTY04O2K6uk5JdaNN /3b3nx1LJIeKNfnY6Cma5+B2gYTEW3uGuD1skmm9ia44m6oelYee89Wv1jSuCVfkKQsj N5mTvQHdR2ibgPR0yXT1zy2a7kOneTDcKJATglRMivOtOZ8UMcCGP/BIs9zif/tSx0IA 9AWQ== X-Forwarded-Encrypted: i=1; AJvYcCXh6xOWtutrGkjfSrH7A7NqHd+mm4VknL1laQXZKaHCQvTtGrzeFG31+Aq/ekEp4uWMyDG8lR2cRg==@kvack.org X-Gm-Message-State: AOJu0YxogqCMDzGMPukZOmGbBixF0ecSepFIPkq+RZAZqDH/6OaVXlbC Cigra8tpfOw63PpSjanCb9dal0PGX1bb53mLC1n36X22FZHCOrZV X-Google-Smtp-Source: AGHT+IEs2IxrBsPT6YXEgz2epQyHoorcOdT0d4hm7NYr74rGWRI5/0uchu7H7p2tlDXCJav5W/E8eg== X-Received: by 2002:a05:6a00:3e03:b0:71e:3eed:95c9 with SMTP id d2e1a72fcca58-71e4c1bfba9mr15531178b3a.22.1728956085196; Mon, 14 Oct 2024 18:34:45 -0700 (PDT) Received: from dw-tp.. ([171.76.80.151]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-71e77508562sm189349b3a.186.2024.10.14.18.34.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Oct 2024 18:34:44 -0700 (PDT) From: "Ritesh Harjani (IBM)" To: linuxppc-dev@lists.ozlabs.org Cc: kasan-dev@googlegroups.com, linux-mm@kvack.org, Marco Elver , Alexander Potapenko , Heiko Carstens , Michael Ellerman , Nicholas Piggin , Madhavan Srinivasan , Christophe Leroy , Hari Bathini , "Aneesh Kumar K . V" , Donet Tom , Pavithra Prakash , LKML , "Ritesh Harjani (IBM)" Subject: [RFC RESEND v2 12/13] book3s64/hash: Disable kfence if not early init Date: Tue, 15 Oct 2024 07:03:35 +0530 Message-ID: <29cca55915a923d1823644b37fa571234f9ea549.1728954719.git.ritesh.list@gmail.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 94f7t1je4noy6phuzsjsznj9fxemm4u5 X-Rspamd-Queue-Id: 4F75B1C000F X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1728956073-254814 X-HE-Meta: U2FsdGVkX1/VWiNLFlgKkIoFj2BHyNFmSp9qUnOV68l3wicGP7PM5JSfqzDB7ReGRUaOv27MFUgWjN4fXVO6oXKDWWRAN2+K+ldAP1OTIcObYgoiNxVwZxoP9ZDl7sBb1VdeaZDY/fRV3m4VWm0TevXPU0ooO7mikdiNRb4C6YqdAmSrkA5anmNvWQsq/7IqRdWi1jDm56dPqmQEBUGg27rBXCAjuW5ZQopSvMzgnw2VVOklZpP+Ajo0K/1Y1vWj7tNgq4t0GTDr68Ju6v2svrIFmyb9YI6VxBaZ491eItSXleF8s0nLFDGlYZ27CTufWJlTOf+LBnWzFhuCSt5hvpXdWITvJ2zRvqfTa+lpZEZwFcfOssJaAjiH42GkjQE18OqmVYOBuPO1d9MWR5ygrPkNATAwO0opav2DD4fTiWoBydtnPJBfHo+zWlIE4MJxF2hZ89b/Ks9HenKTQCFVrzROnaSkbWxIjNkMHmfeyHL14cunhkAvgkTpeK3NKsQgL8X8cZtOVbRNetireRReyI36RcJQxd5gdHp+jr1ZSh+R7CCO8Sjgjey/V+3+lBSEM+6Eu1ZVZuuUqYz9+wYiQF3KkT9zJQ78y8xrHgw09KQsHB9HGU4+UOiHt8040prqX3/x6m4nnkOh5SvAJ0jsA3QFC3kjP0JUKlr/sDo/B80JgTOkumUEVC1bgdKMWE6UZ8FOnVOvKRegFMuDAUgWGqfIecESsB2/ZFfTVETyMxo3wwgxYzJRvBrEgEP3frvUV3qkHmCVK8wiiVFHkxmLNPP5IMThR7Oi0s/eFMcZWhP5tTiHArktXNpiTmZtStfE9wNM4MJfRRow4bjRVO3W7fqRi8FGmQ6bCAQFSTc0lEOEcY1J6opi6AxqMTPpDau1a0IOl62g5YSd1E8rpHF2zBj9GP8VR4TfmJKJF8OhVUOdZC3Mg7+EzSAgj5hI9a+xgTrodrqMpy3RX3Km+VI lzeiQyN0 SRnBk7TU81sp0CxHW/94Wb8XH791EDstJA11B0hIQqBUhD9/vvLEjC0sYqtIJcaLot5YOM3tNx/3Zc8rup99WH5UugTUW+mWTgwy/ys6hVc7TXv9urTNVv153SwN8KH1UX71OucDs5MbuvIHGQPJFWYjyJYvzUWti36NFqSWylxCMlML82FwKSKapMxoYNFU00EgSl1OVn+CdwB5Xm6AhtkTLlSmX9PVXeYAWSrFNUivLuIrWBbsUQWfGkH22Kisd/b/DnME/YY2GRdNEJfiSiiv/+w5FJ+EvfMF0 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: List-Subscribe: List-Unsubscribe: Enable kfence on book3s64 hash only when early init is enabled. This is because, kfence could cause the kernel linear map to be mapped at PAGE_SIZE level instead of 16M (which I guess we don't want). Also currently there is no way to - 1. Make multiple page size entries for the SLB used for kernel linear map. 2. No easy way of getting the hash slot details after the page table mapping for kernel linear setup. So even if kfence allocate the pool in late init, we won't be able to get the hash slot details in kfence linear map. Thus this patch disables kfence on hash if kfence early init is not enabled. Signed-off-by: Ritesh Harjani (IBM) --- arch/powerpc/mm/book3s64/hash_utils.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/mm/book3s64/hash_utils.c b/arch/powerpc/mm/book3s64/hash_utils.c index 53e6f3a524eb..b6da25719e37 100644 --- a/arch/powerpc/mm/book3s64/hash_utils.c +++ b/arch/powerpc/mm/book3s64/hash_utils.c @@ -410,6 +410,8 @@ static phys_addr_t kfence_pool; static inline void hash_kfence_alloc_pool(void) { + if (!kfence_early_init_enabled()) + goto err; // allocate linear map for kfence within RMA region linear_map_kf_hash_count = KFENCE_POOL_SIZE >> PAGE_SHIFT; @@ -1074,7 +1076,7 @@ static void __init htab_init_page_sizes(void) bool aligned = true; init_hpte_page_sizes(); - if (!debug_pagealloc_enabled_or_kfence()) { + if (!debug_pagealloc_enabled() && !kfence_early_init_enabled()) { /* * Pick a size for the linear mapping. Currently, we only * support 16M, 1M and 4K which is the default -- 2.46.0