summaryrefslogtreecommitdiff
path: root/samples/kmemleak/kmemleak-test.c
diff options
context:
space:
mode:
authorPavel Tikhomirov <ptikhomirov@virtuozzo.com>2024-07-25 12:12:15 +0800
committerAndrew Morton <akpm@linux-foundation.org>2024-09-01 20:25:49 -0700
commit6c99d4eb7c5e0999349cdb9d824ea0ac450d0c8f (patch)
treeafd55a353f15f9b1c8091a6af6446f5d042c1c57 /samples/kmemleak/kmemleak-test.c
parentfbe76a6557a83af5ef3819fd7b7ffd0a5d3b4e51 (diff)
downloadlinux-6c99d4eb7c5e0999349cdb9d824ea0ac450d0c8f.tar.gz
linux-6c99d4eb7c5e0999349cdb9d824ea0ac450d0c8f.tar.bz2
linux-6c99d4eb7c5e0999349cdb9d824ea0ac450d0c8f.zip
kmemleak: enable tracking for percpu pointers
Patch series "kmemleak: support for percpu memory leak detect'. This is a rework of this series: https://lore.kernel.org/lkml/20200921020007.35803-1-chenjun102@huawei.com/ Originally I was investigating a percpu leak on our customer nodes and having this functionality was a huge help, which lead to this fix [1]. So probably it's a good idea to have it in mainstream too, especially as after [2] it became much easier to implement (we already have a separate tree for percpu pointers). [1] commit 0af8c09c89681 ("netfilter: x_tables: fix percpu counter block leak on error path when creating new netns") [2] commit 39042079a0c24 ("kmemleak: avoid RCU stalls when freeing metadata for per-CPU pointers") This patch (of 2): This basically does: - Add min_percpu_addr and max_percpu_addr to filter out unrelated data similar to min_addr and max_addr; - Set min_count for percpu pointers to 1 to start tracking them; - Calculate checksum of percpu area as xor of crc32 for each cpu; - Split pointer lookup and update refs code into separate helper and use it twice: once as if the pointer is a virtual pointer and once as if it's percpu. [ptikhomirov@virtuozzo.com: v2] Link: https://lkml.kernel.org/r/20240731025526.157529-2-ptikhomirov@virtuozzo.com Link: https://lkml.kernel.org/r/20240725041223.872472-1-ptikhomirov@virtuozzo.com Link: https://lkml.kernel.org/r/20240725041223.872472-2-ptikhomirov@virtuozzo.com Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Wei Yongjun <weiyongjun1@huawei.com> Cc: Chen Jun <chenjun102@huawei.com> Cc: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'samples/kmemleak/kmemleak-test.c')
0 files changed, 0 insertions, 0 deletions