0007-xen-arm32-avoid-.rodata-to-be-marked-as-executable.patch 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. From 99314e08c6450a841d4f7155b7ce364e0990df1c Mon Sep 17 00:00:00 2001
  2. From: Jan Beulich <jbeulich@suse.com>
  3. Date: Fri, 11 Jun 2021 11:19:15 +0200
  4. Subject: [PATCH] xen/arm32: avoid .rodata to be marked as executable
  5. The section .proc.info lives in .rodata as it doesn't contain any
  6. executable code. However, the section is still marked as executable
  7. as the consequence .rodata will also be marked executable.
  8. Xen doesn't use the ELF permissions to decide the page-table mapping
  9. permission. However, this will confuse disassemblers.
  10. '#execinstr' is now removed on all the pushsection dealing with
  11. .proc.info
  12. Signed-off-by: Jan Beulich <jbeulich@suse.com>
  13. [julieng: Rework the commit message]
  14. Acked-by: Julien Grall <jgrall@amazon.com>
  15. Upstream: https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=163f47c14737cfa9dfb3240deea356b08caf7614
  16. Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
  17. ---
  18. xen/arch/arm/arm32/proc-v7.S | 6 +++---
  19. 1 file changed, 3 insertions(+), 3 deletions(-)
  20. diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.S
  21. index 46bfc7a..8b418ed 100644
  22. --- a/xen/arch/arm/arm32/proc-v7.S
  23. +++ b/xen/arch/arm/arm32/proc-v7.S
  24. @@ -30,7 +30,7 @@ brahma15mp_init:
  25. mcr CP32(r0, ACTLR)
  26. mov pc, lr
  27. - .section ".proc.info", #alloc, #execinstr
  28. + .section ".proc.info", #alloc
  29. .type __v7_ca15mp_proc_info, #object
  30. __v7_ca15mp_proc_info:
  31. .long 0x410FC0F0 /* Cortex-A15 */
  32. @@ -39,7 +39,7 @@ __v7_ca15mp_proc_info:
  33. .long caxx_processor
  34. .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
  35. - .section ".proc.info", #alloc, #execinstr
  36. + .section ".proc.info", #alloc
  37. .type __v7_ca7mp_proc_info, #object
  38. __v7_ca7mp_proc_info:
  39. .long 0x410FC070 /* Cortex-A7 */
  40. @@ -48,7 +48,7 @@ __v7_ca7mp_proc_info:
  41. .long caxx_processor
  42. .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
  43. - .section ".proc.info", #alloc, #execinstr
  44. + .section ".proc.info", #alloc
  45. .type __v7_brahma15mp_proc_info, #object
  46. __v7_brahma15mp_proc_info:
  47. .long 0x420F00F0 /* Broadcom Brahma-B15 */
  48. --
  49. 2.48.1