]> git.ipfire.org Git - thirdparty/linux.git/commit
objtool/loongarch: Add unwind hints in prepare_frametrace()
authorJosh Poimboeuf <jpoimboe@kernel.org>
Tue, 1 Apr 2025 04:26:43 +0000 (21:26 -0700)
committerIngo Molnar <mingo@kernel.org>
Tue, 1 Apr 2025 08:10:10 +0000 (10:10 +0200)
commit7c977393b8277ed319e92e4b598b26598c9d30c0
tree1e8b713aca884137b5ef62370b13ab31784680bb
parent6309a5c43b0dc629851f25b2e5ef8beff61d08e5
objtool/loongarch: Add unwind hints in prepare_frametrace()

If 'regs' points to a local stack variable, prepare_frametrace() stores
all registers to the stack.  This confuses objtool as it expects them to
be restored from the stack later.

The stores don't affect stack tracing, so use unwind hints to hide them
from objtool.

Fixes the following warnings:

  arch/loongarch/kernel/traps.o: warning: objtool: show_stack+0xe0: stack state mismatch: reg1[22]=-1+0 reg2[22]=-2-160
  arch/loongarch/kernel/traps.o: warning: objtool: show_stack+0xe0: stack state mismatch: reg1[23]=-1+0 reg2[23]=-2-152

Fixes: cb8a2ef0848c ("LoongArch: Add ORC stack unwinder support")
Reported-by: kernel test robot <lkp@intel.com>
Tested-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/270cadd8040dda74db2307f23497bb68e65db98d.1743481539.git.jpoimboe@kernel.org
Closes: https://lore.kernel.org/oe-kbuild-all/202503280703.OARM8SrY-lkp@intel.com/
arch/loongarch/include/asm/stacktrace.h
arch/loongarch/include/asm/unwind_hints.h