From 7d216e2512082853f4cf0c220a1b48119203144f Mon Sep 17 00:00:00 2001 From: Liujie Xie Date: Thu, 24 Jun 2021 10:10:14 +0800 Subject: [PATCH] ANDROID: Fix lost track action type in save_track_hash Transmit the track action type to save_track_hash, otherwise we do not know it is allocation stack or free stack. Fixes: 8bc6337823c6 ("ANDROID: vendor_hooks: add hooks for slab memory leak debugging") Bug: 184928480 Signed-off-by: Liujie Xie Change-Id: I74c50c02cfb4ebbf3e9fecdf125e76946ff4e7d1 --- include/trace/hooks/mm.h | 4 ++-- mm/slub.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/trace/hooks/mm.h b/include/trace/hooks/mm.h index 2f00e27393c1..593a686fc5b5 100644 --- a/include/trace/hooks/mm.h +++ b/include/trace/hooks/mm.h @@ -95,8 +95,8 @@ DECLARE_HOOK(android_vh_show_stack_hash, TP_PROTO(struct seq_file *m, struct vm_struct *v), TP_ARGS(m, v)); DECLARE_HOOK(android_vh_save_track_hash, - TP_PROTO(unsigned long p), - TP_ARGS(p)); + TP_PROTO(bool alloc, unsigned long p), + TP_ARGS(alloc, p)); /* macro versions of hooks are no longer required */ #endif /* _TRACE_HOOK_MM_H */ diff --git a/mm/slub.c b/mm/slub.c index 9dde49d6deb9..f458b699a3df 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -618,7 +618,8 @@ static void set_track(struct kmem_cache *s, void *object, if (nr_entries < TRACK_ADDRS_COUNT) p->addrs[nr_entries] = 0; - trace_android_vh_save_track_hash((unsigned long)p); + trace_android_vh_save_track_hash(alloc == TRACK_ALLOC, + (unsigned long)p); #endif p->addr = addr; p->cpu = smp_processor_id();