[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <62d8969d-8ba1-4554-16b4-1c0bd4f8d9e7@linux.microsoft.com>
Date: Tue, 24 Aug 2021 07:19:52 -0500
From: "Madhavan T. Venkataraman" <madvenka@...ux.microsoft.com>
To: "nobuta.keiya@...itsu.com" <nobuta.keiya@...itsu.com>
Cc: "mark.rutland@....com" <mark.rutland@....com>,
"broonie@...nel.org" <broonie@...nel.org>,
"jpoimboe@...hat.com" <jpoimboe@...hat.com>,
"ardb@...nel.org" <ardb@...nel.org>,
"sjitindarsingh@...il.com" <sjitindarsingh@...il.com>,
"catalin.marinas@....com" <catalin.marinas@....com>,
"will@...nel.org" <will@...nel.org>,
"jmorris@...ei.org" <jmorris@...ei.org>,
"pasha.tatashin@...een.com" <pasha.tatashin@...een.com>,
"jthierry@...hat.com" <jthierry@...hat.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"live-patching@...r.kernel.org" <live-patching@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH v8 3/4] arm64: Introduce stack trace reliability
checks in the unwinder
On 8/24/21 12:55 AM, nobuta.keiya@...itsu.com wrote:
> 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
Powered by blists - more mailing lists