diff -ur linux-5.4.46.old/arch/x86/entry/Makefile linux-5.4.46/arch/x86/entry/Makefile --- linux-5.4.46.old/arch/x86/entry/Makefile 2022-05-03 14:52:37.250790352 +0000 +++ linux-5.4.46/arch/x86/entry/Makefile 2022-05-03 14:54:39.878691437 +0000 @@ -7,11 +7,12 @@ CFLAGS_syscall_64.o += $(call cc-option,-Wno-override-init,) CFLAGS_syscall_32.o += $(call cc-option,-Wno-override-init,) -obj-y := entry_$(BITS).o thunk_$(BITS).o syscall_$(BITS).o +obj-y := entry_$(BITS).o syscall_$(BITS).o obj-y += common.o obj-y += vdso/ obj-y += vsyscall/ +obj-$(CONFIG_PREEMPTION) += thunk_$(BITS).o obj-$(CONFIG_IA32_EMULATION) += entry_64_compat.o syscall_32.o diff -ur linux-5.4.46.old/arch/x86/entry/thunk_32.S linux-5.4.46/arch/x86/entry/thunk_32.S --- linux-5.4.46.old/arch/x86/entry/thunk_32.S 2022-05-03 14:52:37.250790352 +0000 +++ linux-5.4.46/arch/x86/entry/thunk_32.S 2022-05-03 14:55:08.770668074 +0000 @@ -34,10 +34,7 @@ THUNK trace_hardirqs_off_thunk,trace_hardirqs_off_caller,1 #endif -#ifdef CONFIG_PREEMPTION THUNK ___preempt_schedule, preempt_schedule THUNK ___preempt_schedule_notrace, preempt_schedule_notrace EXPORT_SYMBOL(___preempt_schedule) EXPORT_SYMBOL(___preempt_schedule_notrace) -#endif - diff -ur linux-5.4.46.old/arch/x86/entry/thunk_64.S linux-5.4.46/arch/x86/entry/thunk_64.S --- linux-5.4.46.old/arch/x86/entry/thunk_64.S 2022-05-03 14:52:37.250790352 +0000 +++ linux-5.4.46/arch/x86/entry/thunk_64.S 2022-05-03 14:56:16.202613479 +0000 @@ -46,16 +46,11 @@ THUNK lockdep_sys_exit_thunk,lockdep_sys_exit #endif -#ifdef CONFIG_PREEMPTION THUNK ___preempt_schedule, preempt_schedule THUNK ___preempt_schedule_notrace, preempt_schedule_notrace EXPORT_SYMBOL(___preempt_schedule) EXPORT_SYMBOL(___preempt_schedule_notrace) -#endif -#if defined(CONFIG_TRACE_IRQFLAGS) \ - || defined(CONFIG_DEBUG_LOCK_ALLOC) \ - || defined(CONFIG_PREEMPTION) .L_restore: popq %r11 popq %r10 @@ -69,4 +64,3 @@ popq %rbp ret _ASM_NOKPROBE(.L_restore) -#endif