Messages in this thread | | | Subject | Re: [PATCH] arm64/kernel/entry: refine comment of stack overflow check | From | Guoheyi <> | Date | Tue, 3 Dec 2019 08:55:53 +0800 |
| |
在 2019/12/2 20:33, Mark Rutland 写道: > On Mon, Dec 02, 2019 at 07:37:02PM +0800, Heyi Guo wrote: >> Stack overflow checking can be done by testing >> sp & (1 << THREAD_SHIFT) >> only for the stacks are aligned to (2 << THREAD_SHIFT) with size of >> (1 << THREAD_SIZE), and this is the case when CONFIG_VMAP_STACK is >> set. > Good point, I was sloppy with this comment. > >> Fix the code comment to avoid confusion. >> >> Signed-off-by: Heyi Guo <guoheyi@huawei.com> >> Cc: Catalin Marinas <catalin.marinas@arm.com> >> Cc: Will Deacon <will@kernel.org> >> --- >> arch/arm64/kernel/entry.S | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S >> index cf3bd2976e57..9e8ba507090f 100644 >> --- a/arch/arm64/kernel/entry.S >> +++ b/arch/arm64/kernel/entry.S >> @@ -76,7 +76,8 @@ alternative_else_nop_endif >> #ifdef CONFIG_VMAP_STACK >> /* >> * Test whether the SP has overflowed, without corrupting a GPR. >> - * Task and IRQ stacks are aligned to (1 << THREAD_SHIFT). >> + * Task and IRQ stacks are aligned to (2 << THREAD_SHIFT) with size of >> + * (1 << THREAD_SHIFT). >> */ > Can we make that: > > Task and IRQ stacks are aligned so that SP & (1 << THREAD_SHIFT) > should always be zero. > > ... which I think is a bit clearer.
Sure :)
Thanks,
Heyi
> > With that wording: > > Acked-by: Mark Rutland <mark.rutland@arm.com> > > Mark. > >> add sp, sp, x0 // sp' = sp + x0 >> sub x0, sp, x0 // x0' = sp' - x0 = (sp + x0) - x0 = sp >> -- >> 2.19.1 >> > .
| |