2020-03-12 17:34:14

by Josh Poimboeuf

[permalink] [raw]
Subject: [PATCH 00/14] x86/unwind/orc: ORC fixes

Several ORC unwinder cleanups, fixes, and debug improvements.

Jann Horn (1):
x86/entry/64: Fix unwind hints in rewind_stack_do_exit()

Josh Poimboeuf (12):
x86/dumpstack: Add SHOW_REGS_IRET mode
objtool: Fix stack offset tracking for indirect CFAs
x86/entry/64: Fix unwind hints in register clearing code
x86/entry/64: Fix unwind hints in kernel exit path
x86/entry/64: Fix unwind hints in __switch_to_asm()
x86/unwind/orc: Convert global variables to static
x86/unwind: Prevent false warnings for non-current tasks
x86/unwind/orc: Prevent unwinding before ORC initialization
x86/unwind/orc: Fix error path for bad ORC entry type
x86/unwind/orc: Fix premature unwind stoppage due to IRET frames
x86/unwind/orc: Add more unwinder warnings
x86/unwind/orc: Add 'unwind_debug' cmdline option

Miroslav Benes (1):
x86/unwind/orc: Don't skip the first frame for inactive tasks

.../admin-guide/kernel-parameters.txt | 6 +
arch/x86/entry/calling.h | 40 ++--
arch/x86/entry/entry_64.S | 14 +-
arch/x86/include/asm/kdebug.h | 1 +
arch/x86/include/asm/unwind.h | 2 +-
arch/x86/kernel/dumpstack.c | 27 +--
arch/x86/kernel/dumpstack_64.c | 3 +-
arch/x86/kernel/process_64.c | 7 +-
arch/x86/kernel/unwind_frame.c | 3 +
arch/x86/kernel/unwind_orc.c | 185 ++++++++++++++----
tools/objtool/check.c | 2 +-
11 files changed, 201 insertions(+), 89 deletions(-)

--
2.21.1


2020-03-12 19:16:16

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH 00/14] x86/unwind/orc: ORC fixes

On Thu, Mar 12, 2020 at 12:30:19PM -0500, Josh Poimboeuf wrote:
> Several ORC unwinder cleanups, fixes, and debug improvements.
>
> Jann Horn (1):
> x86/entry/64: Fix unwind hints in rewind_stack_do_exit()
>
> Josh Poimboeuf (12):
> x86/dumpstack: Add SHOW_REGS_IRET mode
> objtool: Fix stack offset tracking for indirect CFAs
> x86/entry/64: Fix unwind hints in register clearing code
> x86/entry/64: Fix unwind hints in kernel exit path
> x86/entry/64: Fix unwind hints in __switch_to_asm()
> x86/unwind/orc: Convert global variables to static
> x86/unwind: Prevent false warnings for non-current tasks
> x86/unwind/orc: Prevent unwinding before ORC initialization
> x86/unwind/orc: Fix error path for bad ORC entry type
> x86/unwind/orc: Fix premature unwind stoppage due to IRET frames
> x86/unwind/orc: Add more unwinder warnings
> x86/unwind/orc: Add 'unwind_debug' cmdline option
>
> Miroslav Benes (1):
> x86/unwind/orc: Don't skip the first frame for inactive tasks

Looks like good stuff..

Acked-by: Peter Zijlstra (Intel) <[email protected]>

2020-03-13 14:03:45

by Miroslav Benes

[permalink] [raw]
Subject: Re: [PATCH 00/14] x86/unwind/orc: ORC fixes

On Thu, 12 Mar 2020, Josh Poimboeuf wrote:

> Several ORC unwinder cleanups, fixes, and debug improvements.
>
> Jann Horn (1):
> x86/entry/64: Fix unwind hints in rewind_stack_do_exit()
>
> Josh Poimboeuf (12):
> x86/dumpstack: Add SHOW_REGS_IRET mode
> objtool: Fix stack offset tracking for indirect CFAs
> x86/entry/64: Fix unwind hints in register clearing code
> x86/entry/64: Fix unwind hints in kernel exit path
> x86/entry/64: Fix unwind hints in __switch_to_asm()
> x86/unwind/orc: Convert global variables to static
> x86/unwind: Prevent false warnings for non-current tasks
> x86/unwind/orc: Prevent unwinding before ORC initialization
> x86/unwind/orc: Fix error path for bad ORC entry type
> x86/unwind/orc: Fix premature unwind stoppage due to IRET frames
> x86/unwind/orc: Add more unwinder warnings
> x86/unwind/orc: Add 'unwind_debug' cmdline option
>
> Miroslav Benes (1):
> x86/unwind/orc: Don't skip the first frame for inactive tasks
>
> .../admin-guide/kernel-parameters.txt | 6 +
> arch/x86/entry/calling.h | 40 ++--
> arch/x86/entry/entry_64.S | 14 +-
> arch/x86/include/asm/kdebug.h | 1 +
> arch/x86/include/asm/unwind.h | 2 +-
> arch/x86/kernel/dumpstack.c | 27 +--
> arch/x86/kernel/dumpstack_64.c | 3 +-
> arch/x86/kernel/process_64.c | 7 +-
> arch/x86/kernel/unwind_frame.c | 3 +
> arch/x86/kernel/unwind_orc.c | 185 ++++++++++++++----
> tools/objtool/check.c | 2 +-
> 11 files changed, 201 insertions(+), 89 deletions(-)

Apart from the two nits I mentioned and Jann's comment on comment, it
looks good to me.

Reviewed-by: Miroslav Benes <[email protected]>

M