From: Hiroshi DOYU on

This is another version of "kmemleak: Fix false positive", which
introduces another alias tree to keep track of all alias address of
each objects, based on the discussion(*1)

You can also find the previous one(*2), which uses special scan area
for alias addresses with a conversion function.

Compared with both methods, it seems that the current one takes a bit
longer to scan as below, tested with 512 elementes of (*3).

"kmemleak: Fix false positive with alias":
# time echo scan > /mnt/kmemleak
real 0m 8.40s
user 0m 0.00s
sys 0m 8.40s

"kmemleak: Fix false positive with special scan":
# time echo scan > /mnt/kmemleak
real 0m 3.96s
user 0m 0.00s
sys 0m 3.96s

For our case(*4) to reduce false positives for the 2nd level IOMMU
pagetable allocation, the previous special scan seems to be enough
lightweight, although there might be possiblity to improve alias
one and also I might misunderstand the original proposal of aliasing.

Any comment would be appreciated.

*2: kmemleak: Fix false positive with special scan
*3: kmemleak: Add special scan test case

Hiroshi DOYU (1):
kmemleak: Fix false positive with alias

include/linux/kmemleak.h | 4 +
mm/kmemleak.c | 198 ++++++++++++++++++++++++++++++++++++++--------
2 files changed, 168 insertions(+), 34 deletions(-)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)
More majordomo info at
Please read the FAQ at