From a558860e884055a2c83b63473805ca5c025d2c1e Mon Sep 17 00:00:00 2001 From: Andrey Turkin Date: Mon, 15 Jul 2024 04:21:36 +0300 Subject: [PATCH] Fix BSS sanity check mark the canaries mutable so they go into data and bss and not in rodata --- src/arch/aarch64/start.rs | 4 ++-- src/arch/x86/start.rs | 4 ++-- src/arch/x86_64/start.rs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/arch/aarch64/start.rs b/src/arch/aarch64/start.rs index 35aeecb282..ab619a50cb 100644 --- a/src/arch/aarch64/start.rs +++ b/src/arch/aarch64/start.rs @@ -12,9 +12,9 @@ use crate::{allocator, device, dtb, init::device_tree, paging}; use log::info; /// Test of zero values in BSS. -static BSS_TEST_ZERO: usize = 0; +static mut BSS_TEST_ZERO: usize = 0; /// Test of non-zero values in data. -static DATA_TEST_NONZERO: usize = 0xFFFF_FFFF_FFFF_FFFF; +static mut DATA_TEST_NONZERO: usize = 0xFFFF_FFFF_FFFF_FFFF; pub static KERNEL_BASE: AtomicUsize = AtomicUsize::new(0); pub static KERNEL_SIZE: AtomicUsize = AtomicUsize::new(0); diff --git a/src/arch/x86/start.rs b/src/arch/x86/start.rs index 8f4a647358..3a91671180 100644 --- a/src/arch/x86/start.rs +++ b/src/arch/x86/start.rs @@ -18,9 +18,9 @@ use crate::{ use log::info; /// Test of zero values in BSS. -static BSS_TEST_ZERO: usize = 0; +static mut BSS_TEST_ZERO: usize = 0; /// Test of non-zero values in data. -static DATA_TEST_NONZERO: usize = usize::max_value(); +static mut DATA_TEST_NONZERO: usize = usize::max_value(); pub static KERNEL_BASE: AtomicUsize = AtomicUsize::new(0); pub static KERNEL_SIZE: AtomicUsize = AtomicUsize::new(0); diff --git a/src/arch/x86_64/start.rs b/src/arch/x86_64/start.rs index 68116d6af2..c3ab2218f6 100644 --- a/src/arch/x86_64/start.rs +++ b/src/arch/x86_64/start.rs @@ -20,9 +20,9 @@ use crate::{ }; /// Test of zero values in BSS. -static BSS_TEST_ZERO: usize = 0; +static mut BSS_TEST_ZERO: usize = 0; /// Test of non-zero values in data. -static DATA_TEST_NONZERO: usize = usize::max_value(); +static mut DATA_TEST_NONZERO: usize = usize::max_value(); pub static KERNEL_BASE: AtomicUsize = AtomicUsize::new(0); pub static KERNEL_SIZE: AtomicUsize = AtomicUsize::new(0);