xen/arm32: avoid .rodata to be marked as executable
authorJan Beulich <jbeulich@suse.com>
Fri, 11 Jun 2021 09:19:15 +0000 (11:19 +0200)
committerJulien Grall <jgrall@amazon.com>
Mon, 14 Jun 2021 13:14:11 +0000 (14:14 +0100)
The section .proc.info lives in .rodata as it doesn't contain any
executable code. However, the section is still marked as executable
as the consequence .rodata will also be marked executable.

Xen doesn't use the ELF permissions to decide the page-table mapping
permission. However, this will confuse disassemblers.

'#execinstr' is now removed on all the pushsection dealing with
.proc.info

Signed-off-by: Jan Beulich <jbeulich@suse.com>
[julieng: Rework the commit message]
Acked-by: Julien Grall <jgrall@amazon.com>
xen/arch/arm/arm32/proc-v7.S

index 1efde2d72da0a8d3d603e3477f50fc18fcd34ad6..c90a31d80fc51cce5b18436e5e69b948e6770fd1 100644 (file)
@@ -29,7 +29,7 @@ brahma15mp_init:
         mcr   CP32(r0, ACTLR)
         mov   pc, lr
 
-        .section ".proc.info", #alloc, #execinstr
+        .section ".proc.info", #alloc
         .type __v7_ca15mp_proc_info, #object
 __v7_ca15mp_proc_info:
         .long 0x410FC0F0             /* Cortex-A15 */
@@ -38,7 +38,7 @@ __v7_ca15mp_proc_info:
         .long caxx_processor
         .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
 
-        .section ".proc.info", #alloc, #execinstr
+        .section ".proc.info", #alloc
         .type __v7_ca7mp_proc_info, #object
 __v7_ca7mp_proc_info:
         .long 0x410FC070             /* Cortex-A7 */
@@ -47,7 +47,7 @@ __v7_ca7mp_proc_info:
         .long caxx_processor
         .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
 
-        .section ".proc.info", #alloc, #execinstr
+        .section ".proc.info", #alloc
         .type __v7_brahma15mp_proc_info, #object
 __v7_brahma15mp_proc_info:
         .long 0x420F00F0             /* Broadcom Brahma-B15 */