From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>,
Anshuman Khandual <anshuman.khandual@arm.com>,
Will Deacon <will@kernel.org>, Sasha Levin <sashal@kernel.org>,
catalin.marinas@arm.com, mark.rutland@arm.com, hca@linux.ibm.com,
Jason@zx2c4.com, linux-arm-kernel@lists.infradead.org
Subject: [PATCH AUTOSEL 5.15 03/45] arm64: kernel: drop unnecessary PoC cache clean+invalidate
Date: Sun, 7 Aug 2022 21:35:07 -0400 [thread overview]
Message-ID: <20220808013551.315446-3-sashal@kernel.org> (raw)
In-Reply-To: <20220808013551.315446-1-sashal@kernel.org>
From: Ard Biesheuvel <ardb@kernel.org>
[ Upstream commit 2e945851e26836c0f2d34be3763ddf55870e49fe ]
Some early boot code runs before the virtual placement of the kernel is
finalized, and we used to go back to the very start and recreate the ID
map along with the page tables describing the virtual kernel mapping,
and this involved setting some global variables with the caches off.
In order to ensure that global state created by the KASLR code is not
corrupted by the cache invalidation that occurs in that case, we needed
to clean those global variables to the PoC explicitly.
This is no longer needed now that the ID map is created only once (and
the associated global variable updates are no longer repeated). So drop
the cache maintenance that is no longer necessary.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20220624150651.1358849-9-ardb@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/arm64/kernel/kaslr.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/arch/arm64/kernel/kaslr.c b/arch/arm64/kernel/kaslr.c
index 418b2bba1521..d5542666182f 100644
--- a/arch/arm64/kernel/kaslr.c
+++ b/arch/arm64/kernel/kaslr.c
@@ -13,7 +13,6 @@
#include <linux/pgtable.h>
#include <linux/random.h>
-#include <asm/cacheflush.h>
#include <asm/fixmap.h>
#include <asm/kernel-pgtable.h>
#include <asm/memory.h>
@@ -72,9 +71,6 @@ u64 __init kaslr_early_init(void)
* we end up running with module randomization disabled.
*/
module_alloc_base = (u64)_etext - MODULES_VSIZE;
- dcache_clean_inval_poc((unsigned long)&module_alloc_base,
- (unsigned long)&module_alloc_base +
- sizeof(module_alloc_base));
/*
* Try to map the FDT early. If this fails, we simply bail,
@@ -174,13 +170,6 @@ u64 __init kaslr_early_init(void)
module_alloc_base += (module_range * (seed & ((1 << 21) - 1))) >> 21;
module_alloc_base &= PAGE_MASK;
- dcache_clean_inval_poc((unsigned long)&module_alloc_base,
- (unsigned long)&module_alloc_base +
- sizeof(module_alloc_base));
- dcache_clean_inval_poc((unsigned long)&memstart_offset_seed,
- (unsigned long)&memstart_offset_seed +
- sizeof(memstart_offset_seed));
-
return offset;
}
--
2.35.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next parent reply other threads:[~2022-08-08 2:08 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20220808013551.315446-1-sashal@kernel.org>
2022-08-08 1:35 ` Sasha Levin [this message]
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 04/45] arm64: mm: provide idmap pointer to cpu_replace_ttbr1() Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 05/45] arm64: kaslr: defer initialization to initcall where permitted Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 06/45] arm64: Do not forget syscall when starting a new thread Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 07/45] arm64: fix oops in concurrently setting insn_emulation sysctls Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 09/45] arm64: kasan: Revert "arm64: mte: reset the page tag in page->flags" Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 18/45] ARM: dts: imx6ul: add missing properties for sram Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 19/45] ARM: dts: imx6ul: change operating-points to uint32-matrix Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 20/45] ARM: dts: imx6ul: fix keypad compatible Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 21/45] ARM: dts: imx6ul: fix csi node compatible Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 22/45] ARM: dts: imx6ul: fix lcdif " Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 23/45] ARM: dts: imx6ul: fix qspi " Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 24/45] ARM: dts: BCM5301X: Add DT for Meraki MR26 Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 25/45] ARM: dts: ux500: Fix Codina accelerometer mounting matrix Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 26/45] ARM: dts: ux500: Fix Gavini " Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 28/45] ARM: OMAP2+: display: Fix refcount leak bug Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 29/45] ARM: OMAP2+: pdata-quirks: " Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 36/45] arm64: dts: allwinner: a64: orangepi-win: Fix LED node name Sasha Levin
2022-08-08 1:35 ` [PATCH AUTOSEL 5.15 37/45] ARM: shmobile: rcar-gen2: Increase refcount for new reference Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220808013551.315446-3-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=Jason@zx2c4.com \
--cc=anshuman.khandual@arm.com \
--cc=ardb@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=hca@linux.ibm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=stable@vger.kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).