diff mbox series

Revert "riscv: Fixup static_obj() fail"

Message ID 20201005193928.3675137-1-palmerdabbelt@google.com (mailing list archive)
State New, archived
Headers show
Series Revert "riscv: Fixup static_obj() fail" | expand

Commit Message

Palmer Dabbelt Oct. 5, 2020, 7:39 p.m. UTC
6184358da000 ("riscv: Fixup static_obj() fail") attempted to elide a lockdep
failure by rearranging our kernel memory map to place all initdata within
[_stext, _end], thus triggering lockdep to treat these as static objects.
These objects are released and eventually reallocated, causing
check_kernel_text_object() to trigger a BUG().

This reverts commit 6184358da0004c8fd940afda6c0a0fa4027dc911.

Fixes: 6184358da000 ("riscv: Fixup static_obj() fail")
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>

---

It's pretty late in the process so while I'd prefer to fix both bugs (ie, fix
lockdep without breaking hardened usercopy) I don't think there's time to do so
for 5.9 (or even 5.10).  I'll try to find some time to look in to a more
focused fix to the lockdep issue, but finding some time to actually think about
our memory map has been on my TODO list for a while now.
---
 arch/riscv/kernel/vmlinux.lds.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/arch/riscv/kernel/vmlinux.lds.S b/arch/riscv/kernel/vmlinux.lds.S
index f3586e31ed1e..e6f8016b366a 100644
--- a/arch/riscv/kernel/vmlinux.lds.S
+++ b/arch/riscv/kernel/vmlinux.lds.S
@@ -22,7 +22,6 @@  SECTIONS
 	/* Beginning of code and text segment */
 	. = LOAD_OFFSET;
 	_start = .;
-	_stext = .;
 	HEAD_TEXT_SECTION
 	. = ALIGN(PAGE_SIZE);
 
@@ -55,6 +54,7 @@  SECTIONS
 	. = ALIGN(SECTION_ALIGN);
 	.text : {
 		_text = .;
+		_stext = .;
 		TEXT_TEXT
 		SCHED_TEXT
 		CPUIDLE_TEXT