[RFC PATCH v8 3/4] arm64: Introduce stack trace reliability checks in the unwinder

nobuta.keiya at fujitsu.com nobuta.keiya at fujitsu.com
Tue Aug 24 17:01:16 PDT 2021


> > Hi Madhavan,
> >
> >> @@ -245,7 +271,36 @@ noinline notrace void arch_stack_walk(stack_trace_consume_fn consume_entry,
> >>  		fp = thread_saved_fp(task);
> >>  		pc = thread_saved_pc(task);
> >>  	}
> >> -	unwind(consume_entry, cookie, task, fp, pc);
> >> +	unwind(consume_entry, cookie, task, fp, pc, false); }
> >> +
> >> +/*
> >> + * arch_stack_walk_reliable() may not be used for livepatch until
> >> +all of
> >> + * the reliability checks are in place in unwind_consume(). However,
> >> + * debug and test code can choose to use it even if all the checks
> >> +are not
> >> + * in place.
> >> + */
> >
> > I'm glad to see the long-awaited function :)
> >
> > Does the above comment mean that this comment will be removed by
> > another patch series that about live patch enablement, instead of [PATCH 4/4]?
> >
> > It seems to take time... But I start thinking about test code.
> >
> 
> Yes. This comment will be removed when livepatch will be enabled eventually.
> So, AFAICT, there are 4 pieces that are needed:
> 
> - Reliable stack trace in the kernel. I am trying to address that with my patch
>   series.
> 
> - Mark Rutland's work for making patching safe on ARM64.
> 
> - Objtool (or alternative method) for stack validation.
> 
> - Suraj Jitindar Singh's patch for miscellaneous things needed to enable live patch.
> 
> Once all of these pieces are in place, livepatch can be enabled.
> 
> That said, arch_stack_walk_reliable() can be used for test and debug purposes anytime once this patch series gets accepted.
> 
> Thanks.
> 
> Madhavan


Thank you for the information.

Keiya



More information about the linux-arm-kernel mailing list