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: