From: Cui GaoSheng
ohos inclusion
category: bugfix
issue: #I3ZXZF
CVE: NA
------------------------------------------------------------------------
The bss section is cleared when the kernel is started, and __kaslr_offset
variable is located in the bss section, __kaslr_offset is reset to zero,
so we move __kaslr_offset from bss section to data section.
Signed-off-by: Cui GaoSheng
Reviewed-by: Xiu Jianfeng
Signed-off-by: Chen Jun
Signed-off-by: Yu Changchun
---
arch/arm/kernel/head.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index b6b82387289b..21185e9b033c 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -103,11 +103,11 @@ ENTRY(stext)
#ifdef CONFIG_RANDOMIZE_BASE
str_l r3, __kaslr_offset, r9 @ offset in r3 if entered via kaslr ep
- .section ".bss", "aw", %nobits
+ .pushsection .data @ data in bss will be cleared
.align 2
ENTRY(__kaslr_offset)
.long 0 @ will be wiped before entering C code
- .previous
+ .popsection
#endif
#ifdef CONFIG_ARM_VIRT_EXT
--
2.22.0