Re: vmlinux.o: warning: objtool: xen_sched_clock+0x4a: call to ftrace_likely_update() leaves .noinstr.text section

From: Peter Zijlstra
Date: Wed May 24 2023 - 10:30:13 EST


On Wed, May 24, 2023 at 10:22:42PM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 9d646009f65d62d32815f376465a3b92d8d9b046
> commit: 8739c6811572b087decd561f96382087402cc343 sched/clock/x86: Mark sched_clock() noinstr
> date: 4 months ago
> config: x86_64-randconfig-a002-20230524
> compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
> reproduce (this is a W=1 build):
> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8739c6811572b087decd561f96382087402cc343
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout 8739c6811572b087decd561f96382087402cc343
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> make W=1 O=build_dir ARCH=x86_64 olddefconfig
> make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202305242215.M2ZKRxS0-lkp@xxxxxxxxx/
>
> All warnings (new ones prefixed by >>):
>
> vmlinux.o: warning: objtool: ibt_selftest+0x11: sibling call from callable instruction with modified stack frame
> vmlinux.o: warning: objtool: __asan_memset+0x3b: call to __memset() with UACCESS enabled
> vmlinux.o: warning: objtool: __asan_memmove+0x4d: call to __memmove() with UACCESS enabled
> vmlinux.o: warning: objtool: __asan_memcpy+0x4d: call to __memcpy() with UACCESS enabled
> >> vmlinux.o: warning: objtool: xen_sched_clock+0x4a: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: __rdgsbase_inactive+0x26: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: __wrgsbase_inactive+0x2a: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: fixup_bad_iret+0x7f: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: noist_exc_debug+0x45: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: exc_nmi+0x3a: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: poke_int3_handler+0x36: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: native_sched_clock+0x8c: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: mce_check_crashing_cpu+0x30: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: mce_start+0x6d: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: do_machine_check+0x57: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: exc_machine_check+0x58: call to ftrace_likely_update() leaves .noinstr.text section
> >> vmlinux.o: warning: objtool: kvm_clock_read+0x3b: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: pvclock_clocksource_read_nowd+0x82: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: irqentry_nmi_enter+0x53: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: irqentry_nmi_exit+0x4b: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: enter_from_user_mode+0x38: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: syscall_enter_from_user_mode+0x3d: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare+0x38: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: irqentry_enter_from_user_mode+0x38: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: irqentry_exit+0x32: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: ct_kernel_exit_state+0x27: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: ct_kernel_enter_state+0x27: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: ct_kernel_enter.constprop.0+0x2b: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: ct_kernel_exit.constprop.0+0x49: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: ct_idle_enter+0x18: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: ct_nmi_enter+0x40: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: ct_irq_enter+0x2a: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: ct_irq_exit+0x2a: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: mwait_idle+0x33: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: acpi_processor_ffh_cstate_enter+0xfb: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: acpi_idle_enter_s2idle+0x85: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: acpi_idle_enter+0x65: call to ftrace_likely_update() leaves .noinstr.text section
> vmlinux.o: warning: objtool: ibt_selftest+0x1e: return with modified stack frame

Robot folks; could you please discard all:

ftrace_likey_update.*noinstr

warnings, they're -EWONTFIX.