LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: "nobuta.keiya@fujitsu.com" <nobuta.keiya@fujitsu.com> To: "'madvenka@linux.microsoft.com'" <madvenka@linux.microsoft.com> Cc: "mark.rutland@arm.com" <mark.rutland@arm.com>, "broonie@kernel.org" <broonie@kernel.org>, "jpoimboe@redhat.com" <jpoimboe@redhat.com>, "ardb@kernel.org" <ardb@kernel.org>, "sjitindarsingh@gmail.com" <sjitindarsingh@gmail.com>, "catalin.marinas@arm.com" <catalin.marinas@arm.com>, "will@kernel.org" <will@kernel.org>, "jmorris@namei.org" <jmorris@namei.org>, "pasha.tatashin@soleen.com" <pasha.tatashin@soleen.com>, "jthierry@redhat.com" <jthierry@redhat.com>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "live-patching@vger.kernel.org" <live-patching@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> Subject: RE: [RFC PATCH v8 3/4] arm64: Introduce stack trace reliability checks in the unwinder Date: Tue, 24 Aug 2021 05:55:01 +0000 [thread overview] Message-ID: <TY2PR01MB5257EA835C6F28ABF457EB0B85C59@TY2PR01MB5257.jpnprd01.prod.outlook.com> (raw) In-Reply-To: <20210812190603.25326-4-madvenka@linux.microsoft.com> 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. Thanks, Keiya > +noinline int notrace arch_stack_walk_reliable(stack_trace_consume_fn consume_fn, > + void *cookie, > + struct task_struct *task) > +{ > + unsigned long fp, pc; > + > + if (!task) > + task = current; > + > + if (task == current) { > + /* Skip arch_stack_walk_reliable() in the stack trace. */ > + fp = (unsigned long)__builtin_frame_address(1); > + pc = (unsigned long)__builtin_return_address(0); > + } else { > + /* Caller guarantees that the task is not running. */ > + fp = thread_saved_fp(task); > + pc = thread_saved_pc(task); > + } > + if (unwind(consume_fn, cookie, task, fp, pc, true)) > + return 0; > + return -EINVAL; > } > > #endif > -- > 2.25.1
next prev parent reply other threads:[~2021-08-24 6:02 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <b45aac2843f16ca759e065ea547ab0afff8c0f01> 2021-08-12 19:05 ` [RFC PATCH v8 0/4] arm64: Reorganize the unwinder and implement stack trace reliability checks madvenka 2021-08-12 19:06 ` [RFC PATCH v8 1/4] arm64: Make all stack walking functions use arch_stack_walk() madvenka 2021-08-24 13:13 ` Mark Rutland 2021-08-24 17:21 ` Madhavan T. Venkataraman 2021-08-24 17:38 ` Madhavan T. Venkataraman 2021-08-24 17:38 ` Mark Brown 2021-08-24 17:40 ` Madhavan T. Venkataraman 2021-08-26 4:52 ` Madhavan T. Venkataraman 2021-10-09 23:41 ` Madhavan T. Venkataraman 2021-08-12 19:06 ` [RFC PATCH v8 2/4] arm64: Reorganize the unwinder code for better consistency and maintenance madvenka 2021-08-26 15:46 ` Mark Brown 2021-08-26 23:19 ` Madhavan T. Venkataraman 2021-09-01 16:20 ` Mark Brown 2021-09-02 7:10 ` Madhavan T. Venkataraman 2021-08-12 19:06 ` [RFC PATCH v8 3/4] arm64: Introduce stack trace reliability checks in the unwinder madvenka 2021-08-24 5:55 ` nobuta.keiya [this message] 2021-08-24 12:19 ` Madhavan T. Venkataraman 2021-08-25 0:01 ` nobuta.keiya 2021-08-26 15:57 ` Mark Brown 2021-08-26 23:31 ` Madhavan T. Venkataraman 2021-08-12 19:06 ` [RFC PATCH v8 4/4] arm64: Create a list of SYM_CODE functions, check return PC against list madvenka 2021-08-12 19:17 ` [RFC PATCH v8 0/4] arm64: Reorganize the unwinder and implement stack trace reliability checks Madhavan T. Venkataraman
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=TY2PR01MB5257EA835C6F28ABF457EB0B85C59@TY2PR01MB5257.jpnprd01.prod.outlook.com \ --to=nobuta.keiya@fujitsu.com \ --cc=ardb@kernel.org \ --cc=broonie@kernel.org \ --cc=catalin.marinas@arm.com \ --cc=jmorris@namei.org \ --cc=jpoimboe@redhat.com \ --cc=jthierry@redhat.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=live-patching@vger.kernel.org \ --cc=madvenka@linux.microsoft.com \ --cc=mark.rutland@arm.com \ --cc=pasha.tatashin@soleen.com \ --cc=sjitindarsingh@gmail.com \ --cc=will@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).