On Wed, Mar 01, 2023 at 07:13:06AM -0800, Josh Poimboeuf wrote: > Based on tip/objtool/core. > > Mark reported that the ORC unwinder incorrectly marks an unwind as > reliable when the unwind terminates prematurely in the dark corners of > return_to_handler() due to lack of information about the next frame. > > The problem is UNWIND_HINT_EMPTY is used in two different situations: > end-of-stack marker and undefined stack state. > > Split it up into UNWIND_HINT_END_OF_STACK and UNWIND_HINT_UNDEFINED. > > Josh Poimboeuf (6): > objtool: Add objtool_types.h > objtool: Use relative pointers for annotations > objtool: Change UNWIND_HINT() argument order > x86,objtool: Introduce ORC_TYPE_* > x86,objtool: Separate unret validation from unwind hints > x86,objtool: Split UNWIND_HINT_EMPTY in two Quite a bit of churn, but the end result does seem cleaner. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>