Re: [PATCH v2 0/4] mm: kmemleak: store objects allocated with physical address separately and check when scan

From: Kuan-Ying Lee
Date: Wed Jun 08 2022 - 01:27:45 EST


On Fri, 2022-06-03 at 11:54 +0800, Patrick Wang wrote:
> The kmemleak_*_phys() interface uses "min_low_pfn" and
> "max_low_pfn" to check address. But on some architectures,
> kmemleak_*_phys() is called before those two variables
> initialized. The following steps will be taken:
>
> 1) Add OBJECT_PHYS flag and rbtree for the objects allocated
> with physical address
> 2) Store physical address in objects if allocated with OBJECT_PHYS
> 3) Check the boundary when scan instead of in kmemleak_*_phys()
>
> This patch set will solve:
> https://lore.kernel.org/r/20220527032504.30341-1-yee.lee@xxxxxxxxxxxx
>
https://lore.kernel.org/r/9dd08bb5-f39e-53d8-f88d-bec598a08c93@xxxxxxxxx

Hi Patrick,

If this patchset fix the above issue, I think we need to add
the below fixes tag.

Fixes: 23c2d497de21 ("mm: kmemleak: take a full lowmem check in
kmemleak_*_phys()")

Thanks.

>
> v1:
> https://lore.kernel.org/r/20220531150823.1004101-1-patrick.wang.shcn@xxxxxxxxx
>
> v1->v2:
> - add rbtree for the objects allocated with physical address
> - store physical address in objects if allocated with OBJECT_PHYS
> - check the upper object boundary as well and avoid duplicate check
>
> Patrick Wang (4):
> mm: kmemleak: add OBJECT_PHYS flag for objects allocated with
> physical
> address
> mm: kmemleak: add rbtree for objects allocated with physical
> address
> mm: kmemleak: handle address stored in object based on its type
> mm: kmemleak: kmemleak_*_phys() set address type and check PA when
> scan
>
> mm/kmemleak.c | 193 ++++++++++++++++++++++++++++++++--------------
> ----
> 1 file changed, 123 insertions(+), 70 deletions(-)
>
> --
> 2.25.1
>
>