2021-03-17 17:18:16

by Chen Jun

[permalink] [raw]
Subject: [PATCH 0/2] Fix page_owner broken on arm64

On arm64, cat /sys/kernel/debug/page_owner
All pages return the same stack
stack_trace_save+0x4c/0x78
register_early_stack+0x34/0x70
init_page_owner+0x34/0x230
page_ext_init+0x1bc/0x1dc

The reason is arch_stack_walk save 2 more entries than before.

To fix it, add skip in arch_stack_walk

*** BLURB HERE ***

1. Prepare for 2, move stacktrace_cookie to .h
2. Fix the problem

Chen Jun (2):
stacktrace: Move struct stacktrace_cookie to stacktrace.h
arm64: stacktrace: Add skip when task == current

arch/arm64/kernel/stacktrace.c | 5 +++--
include/linux/stacktrace.h | 7 +++++++
kernel/stacktrace.c | 7 -------
3 files changed, 10 insertions(+), 9 deletions(-)

--
2.9.4


2021-03-17 22:27:16

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH 0/2] Fix page_owner broken on arm64

On Wed, 17 Mar 2021 14:20:48 +0000 Chen Jun <[email protected]> wrote:

> On arm64, cat /sys/kernel/debug/page_owner
> All pages return the same stack
> stack_trace_save+0x4c/0x78
> register_early_stack+0x34/0x70
> init_page_owner+0x34/0x230
> page_ext_init+0x1bc/0x1dc
>
> The reason is arch_stack_walk save 2 more entries than before.
>
> To fix it, add skip in arch_stack_walk
>
> *** BLURB HERE ***
>
> 1. Prepare for 2, move stacktrace_cookie to .h
> 2. Fix the problem
>

5fc57df2f6fd was September 2020, so I assume we'll be needing cc:stable
on these?

(I'll also assume that the arm folks will be handling these)