diff mbox series

powerpc: Fix writable sections being moved into the rodata region

Message ID 20221116043954.3307852-1-npiggin@gmail.com (mailing list archive)
State Accepted
Headers show
Series powerpc: Fix writable sections being moved into the rodata region | expand

Commit Message

Nicholas Piggin Nov. 16, 2022, 4:39 a.m. UTC
.data.rel.ro*  catches .data.rel.root_cpuacct, and the kernel crashes on
a store in css_clear_dir. At least we know read-only data protection is
working...

Fixes: b6adc6d6d3272 ("powerpc/build: move .data.rel.ro, .sdata2 to read-only")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 arch/powerpc/kernel/vmlinux.lds.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Christophe Leroy Nov. 16, 2022, 7:35 a.m. UTC | #1
Le 16/11/2022 à 05:39, Nicholas Piggin a écrit :
> .data.rel.ro*  catches .data.rel.root_cpuacct, and the kernel crashes on
> a store in css_clear_dir. At least we know read-only data protection is
> working...
> 
> Fixes: b6adc6d6d3272 ("powerpc/build: move .data.rel.ro, .sdata2 to read-only")
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/powerpc/kernel/vmlinux.lds.S | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
> index 7786e3ac7611..8c3862b4c259 100644
> --- a/arch/powerpc/kernel/vmlinux.lds.S
> +++ b/arch/powerpc/kernel/vmlinux.lds.S
> @@ -142,7 +142,7 @@ SECTIONS
>   #endif
>   
>   	.data.rel.ro : AT(ADDR(.data.rel.ro) - LOAD_OFFSET) {
> -		*(.data.rel.ro*)
> +		*(.data.rel.ro .data.rel.ro.*)
>   	}
>   
>   	.branch_lt : AT(ADDR(.branch_lt) - LOAD_OFFSET) {
Michael Ellerman Nov. 20, 2022, 1:31 a.m. UTC | #2
On Wed, 16 Nov 2022 14:39:53 +1000, Nicholas Piggin wrote:
> .data.rel.ro*  catches .data.rel.root_cpuacct, and the kernel crashes on
> a store in css_clear_dir. At least we know read-only data protection is
> working...
> 
> 

Applied to powerpc/fixes.

[1/1] powerpc: Fix writable sections being moved into the rodata region
      https://git.kernel.org/powerpc/c/eb761a1760bf30cf64e98ee8d914866e62ec9e8a

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 7786e3ac7611..8c3862b4c259 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -142,7 +142,7 @@  SECTIONS
 #endif
 
 	.data.rel.ro : AT(ADDR(.data.rel.ro) - LOAD_OFFSET) {
-		*(.data.rel.ro*)
+		*(.data.rel.ro .data.rel.ro.*)
 	}
 
 	.branch_lt : AT(ADDR(.branch_lt) - LOAD_OFFSET) {