^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define TRACE_SYSTEM mmap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #if !defined(_TRACE_MMAP_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #define _TRACE_MMAP_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) TRACE_EVENT(vm_unmapped_area,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) TP_PROTO(unsigned long addr, struct vm_unmapped_area_info *info),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) TP_ARGS(addr, info),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) __field(unsigned long, addr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) __field(unsigned long, total_vm)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) __field(unsigned long, flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) __field(unsigned long, length)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) __field(unsigned long, low_limit)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) __field(unsigned long, high_limit)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) __field(unsigned long, align_mask)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) __field(unsigned long, align_offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) __entry->addr = addr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) __entry->total_vm = current->mm->total_vm;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) __entry->flags = info->flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) __entry->length = info->length;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) __entry->low_limit = info->low_limit;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) __entry->high_limit = info->high_limit;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) __entry->align_mask = info->align_mask;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) __entry->align_offset = info->align_offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) TP_printk("addr=0x%lx err=%ld total_vm=0x%lx flags=0x%lx len=0x%lx lo=0x%lx hi=0x%lx mask=0x%lx ofs=0x%lx\n",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) IS_ERR_VALUE(__entry->addr) ? 0 : __entry->addr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) IS_ERR_VALUE(__entry->addr) ? __entry->addr : 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) __entry->total_vm, __entry->flags, __entry->length,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) __entry->low_limit, __entry->high_limit, __entry->align_mask,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) __entry->align_offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) #include <trace/define_trace.h>