Re: [RFC PATCH v2 3/8] arm64: Terminate the stack trace at TASK_FRAME and EL0_FRAME
From: Mark Rutland <mark.rutland@arm.com>
Date: 2021-03-23 10:37:56
Also in:
live-patching, lkml
From: Mark Rutland <mark.rutland@arm.com>
Date: 2021-03-23 10:37:56
Also in:
live-patching, lkml
On Thu, Mar 18, 2021 at 03:29:19PM -0500, Madhavan T. Venkataraman wrote:
On 3/18/21 1:26 PM, Mark Brown wrote:quoted
On Mon, Mar 15, 2021 at 11:57:55AM -0500, madvenka@linux.microsoft.com wrote:quoted
+ /* Terminal record, nothing to unwind */ + if (fp == (unsigned long) regs->stackframe) { + if (regs->frame_type == TASK_FRAME || + regs->frame_type == EL0_FRAME) + return -ENOENT; return -EINVAL; + }This is conflating the reliable stacktrace checks (which your series will later flag up with frame->reliable) with verifying that we found the bottom of the stack by looking for this terminal stack frame record. For the purposes of determining if the unwinder got to the bottom of the stack we don't care what stack type we're looking at, we just care if it managed to walk to this defined final record. At the minute nothing except reliable stack trace has any intention of checking the specific return code but it's clearer to be consistent.So, you are saying that the type check is redundant. OK. I will remove it and just return -ENOENT on reaching the final record.
Yes please; and please fold that into the same patch that adds the final records. Thanks, Mark. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel