Skip to content

mm: kmemleak: store objects allocated with physical address separately and check when scan

Patrick Wang linux-mm linux-renesas-soc lkml 4 versions – Applied

Status from this message: [merged mm-stable] mm-kmemleak-add-rbtree-and-store-physical-address-for-objects-allocated-with-pa.patch removed from -mm tree

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest4 patches 6 repliesApplied 4/4
  2. v33 patches 5 repliesSuperseded
  3. v24 patches 13 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v11 patch4 repliesSuperseded

Changes in v4 from the cover letter

- fix a build warning
- move the prototype change of kmemleak_alloc_phys() and the kmemleak_not_leak_phys() removal to a separate patch (patch 1)

Patches in v4 All 4 applied

#Subject and filesSizeRepliesApplied
1/4mm: kmemleak: remove kmemleak_not_leak_phys() and the min_count argument to kmemleak_alloc_phys()Documentation/dev-tools/kmemleak.rst drivers/of/fdt.c include/linux/kmemleak.h +3 more+14 -331 replyApplied
2/4mm: kmemleak: add OBJECT_PHYS flag for objects allocated with physical addressmm/kmemleak.c+31 -90 repliesApplied
3/4mm: kmemleak: add rbtree and store physical address for objects allocated with PAmm/kmemleak.c+91 -424 repliesApplied
4/4mm: kmemleak: check physical address when scanmm/kmemleak.c+14 -30 repliesApplied

Reviews trailers per patch

All 4 patches have a Reviewed-by or Acked-by.

PatchCatalin MarinasGeert Uytterhoeven
SeriesT-b
1/4R-b
2/4R-b
3/4R-b
4/4R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

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

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/[email protected]
https://lore.kernel.org/r/[email protected]

v3: https://lore.kernel.org/r/[email protected]
v2: https://lore.kernel.org/r/[email protected]
v1: https://lore.kernel.org/r/[email protected]

v3->v4:
- fix a build warning
- move the prototype change of kmemleak_alloc_phys() and the kmemleak_not_leak_phys() removal to a separate patch (patch 1)

v2->v3:
- remove the min_count argument to kmemleak_alloc_phys() function and assume it's 0
- remove unused kmemleak_not_leak_phys() function
- add functions to reduce unnecessary changes
- remove the check for kasan_reset_tag()
- add Fixes tag in patch 3

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: remove kmemleak_not_leak_phys() and the min_count
argument to kmemleak_alloc_phys()
mm: kmemleak: add OBJECT_PHYS flag for objects allocated with physical
address
mm: kmemleak: add rbtree and store physical address for objects
allocated with PA
mm: kmemleak: check physical address when scan

 Documentation/dev-tools/kmemleak.rst    |   1 -
 drivers/of/fdt.c                        |   2 +-
 include/linux/kmemleak.h                |   8 +-
 mm/kmemleak.c                           | 200 ++++++++++++++++--------
 mm/memblock.c                           |  14 +-
 tools/testing/memblock/linux/kmemleak.h |   2 +-
 6 files changed, 145 insertions(+), 82 deletions(-)
Signature · 1 line
2.25.1