diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 313b66a2ffea..7090438ccfe3 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -305,3 +305,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dma_buf_release); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_check_status); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_blk_alloc_rqs); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_blk_rq_ctx_init); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmap_region); diff --git a/include/trace/hooks/mm.h b/include/trace/hooks/mm.h index 18a1f5c65f1a..820c9e74c66c 100644 --- a/include/trace/hooks/mm.h +++ b/include/trace/hooks/mm.h @@ -36,6 +36,9 @@ DECLARE_HOOK(android_vh_cma_drain_all_pages_bypass, DECLARE_HOOK(android_vh_pcplist_add_cma_pages_bypass, TP_PROTO(int migratetype, bool *bypass), TP_ARGS(migratetype, bypass)); +DECLARE_HOOK(android_vh_mmap_region, + TP_PROTO(struct vm_area_struct *vma, unsigned long addr), + TP_ARGS(vma, addr)); #endif /* _TRACE_HOOK_MM_H */ diff --git a/mm/mmap.c b/mm/mmap.c index 1af5760b42f4..7f4c6d62926b 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -56,6 +56,8 @@ #define CREATE_TRACE_POINTS #include +#undef CREATE_TRACE_POINTS +#include #include "internal.h" @@ -1877,6 +1879,8 @@ out: vma_set_page_prot(vma); + trace_android_vh_mmap_region(vma, addr); + return addr; unmap_and_free_vma: