riscv: put interrupt entries into .irqentry.text
authorNam Cao <namcaov@gmail.com>
Mon, 21 Aug 2023 14:57:09 +0000 (16:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:20:13 +0000 (17:20 +0000)
commit 87615e95f6f9ccd36d4a3905a2d87f91967ea9d2 upstream.

The interrupt entries are expected to be in the .irqentry.text section.
For example, for kprobes to work properly, exception code cannot be
probed; this is ensured by blacklisting addresses in the .irqentry.text
section.

Fixes: 7db91e57a0ac ("RISC-V: Task implementation")
Signed-off-by: Nam Cao <namcaov@gmail.com>
Link: https://lore.kernel.org/r/20230821145708.21270-1-namcaov@gmail.com
Cc: stable@vger.kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/riscv/kernel/entry.S

index 3d11aa3af105e0aa044011c01e94e49e689ed2a2..278d01d2911fd512925c644057654964b9eaef61 100644 (file)
@@ -16,6 +16,8 @@
 #include <asm/errata_list.h>
 #include <linux/sizes.h>
 
+       .section .irqentry.text, "ax"
+
 SYM_CODE_START(handle_exception)
        /*
         * If coming from userspace, preserve the user thread pointer and load