From 878e0caa773151b8a9445f24d3e059d0ece5566d Mon Sep 17 00:00:00 2001 From: Jiewen Wang Date: Mon, 6 Sep 2021 16:50:35 +0800 Subject: [PATCH] ANDROID: vendor_hooks: Add hook in mmap_region() Add hook in mmap_region() to record the vma and address information of monitored processes. Bug: 198385827 Change-Id: I0bde29113b47ca7f4a9f5d42a54188e791ca3b7e Signed-off-by: Jiewen Wang --- drivers/android/vendor_hooks.c | 1 + include/trace/hooks/mm.h | 3 +++ mm/mmap.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 9746d9bffed1..5d9030f56e32 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -381,3 +381,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_udp_recvmsg); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_tcp_recvmsg_stat); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pci_d3_sleep); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kmalloc_slab); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmap_region); diff --git a/include/trace/hooks/mm.h b/include/trace/hooks/mm.h index 31fc6d780981..c194a587764d 100644 --- a/include/trace/hooks/mm.h +++ b/include/trace/hooks/mm.h @@ -120,6 +120,9 @@ DECLARE_HOOK(android_vh_mem_cgroup_css_offline, DECLARE_HOOK(android_vh_kmalloc_slab, TP_PROTO(unsigned int index, gfp_t flags, struct kmem_cache **s), TP_ARGS(index, flags, s)); +DECLARE_HOOK(android_vh_mmap_region, + TP_PROTO(struct vm_area_struct *vma, unsigned long addr), + TP_ARGS(vma, addr)); /* macro versions of hooks are no longer required */ #endif /* _TRACE_HOOK_MM_H */ diff --git a/mm/mmap.c b/mm/mmap.c index b1ca729a11f2..9a4f09216130 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1964,6 +1964,8 @@ out: vma_set_page_prot(vma); vm_write_end(vma); + trace_android_vh_mmap_region(vma, addr); + return addr; unmap_and_free_vma: