diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig index 6e591514d7e3cfbfbd38ec230702f9305dfbd5b4..34eff7c52582d8a89bbe5bdfb320c9536836c0a1 100644 --- a/arch/loongarch/Kconfig +++ b/arch/loongarch/Kconfig @@ -130,7 +130,6 @@ config LOONGARCH select TRACE_IRQFLAGS_SUPPORT select USER_STACKTRACE_SUPPORT select ZONE_DMA32 - select ARCH_HAS_RELATIVE_EXTABLE config 32BIT bool diff --git a/arch/loongarch/include/asm/extable.h b/arch/loongarch/include/asm/extable.h index 339122c9d614e36683ecb8aa78fe140914417827..6499c9f0640e0c47aadc8d8520bc6c77eac908da 100644 --- a/arch/loongarch/include/asm/extable.h +++ b/arch/loongarch/include/asm/extable.h @@ -15,6 +15,8 @@ * on our cache or tlb entries. */ +#define ARCH_HAS_RELATIVE_EXTABLE + struct exception_table_entry { int insn, fixup; short type, data; diff --git a/arch/loongarch/kernel/signal.c b/arch/loongarch/kernel/signal.c index f268a1639a3459234a0dbc700aed624b5b830269..8c2ef65983287bc3d7e95c2f7b431d13ffed1925 100644 --- a/arch/loongarch/kernel/signal.c +++ b/arch/loongarch/kernel/signal.c @@ -853,11 +853,11 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) signal_setup_done(ret, ksig, 0); } -void arch_do_signal_or_restart(struct pt_regs *regs, bool has_signal) +void arch_do_signal(struct pt_regs *regs) { struct ksignal ksig; - if (has_signal && get_signal(&ksig)) { + if (get_signal(&ksig)) { /* Whee! Actually deliver the signal. */ handle_signal(&ksig, regs); return;