OpenCloudOS-Kernel/tools/perf/trace/beauty
Arnaldo Carvalho de Melo 83bc9c371e perf trace beauty: Beautify pkey_{alloc,free,mprotect} arguments
Reuse 'mprotect' beautifiers for 'pkey_mprotect'.

System wide tracing pkey_alloc, pkey_free and pkey_mprotect calls, with
backtraces:

  # perf trace -e pkey_alloc,pkey_mprotect,pkey_free --max-stack=5
     0.000 ( 0.011 ms): pkey/7818 pkey_alloc(init_val: DISABLE_ACCESS|DISABLE_WRITE) = -1 EINVAL Invalid argument
                                       syscall (/usr/lib64/libc-2.25.so)
                                       pkey_alloc (/home/acme/c/pkey)
     0.022 ( 0.003 ms): pkey/7818 pkey_mprotect(start: 0x7f28c3890000, len: 4096, prot: READ|WRITE, pkey: -1) = 0
                                       syscall (/usr/lib64/libc-2.25.so)
                                       pkey_mprotect (/home/acme/c/pkey)
     0.030 ( 0.002 ms): pkey/7818 pkey_free(pkey: -1                               ) = -1 EINVAL Invalid argument
                                       syscall (/usr/lib64/libc-2.25.so)
                                       pkey_free (/home/acme/c/pkey)

The tools/include/uapi/asm-generic/mman-common.h file is used to find
the access rights defines for the pkey_alloc syscall second argument.

Since we have the detector of changes for the tools/include header files
versus its kernel origin (include/uapi/asm-generic/mman-common.h), we'll
get whatever new flag appears for that argument automatically.

This method should be used in other cases where it is easy to generate
those flags tables because the header has properly namespaced defines
like PKEY_DISABLE_ACCESS and PKEY_DISABLE_WRITE.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-3xq5312qlks7wtfzv2sk3nct@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2017-08-28 16:44:47 -03:00
..
Build perf trace beauty: Beautify pkey_{alloc,free,mprotect} arguments 2017-08-28 16:44:47 -03:00
beauty.h perf trace beauty: Beautify pkey_{alloc,free,mprotect} arguments 2017-08-28 16:44:47 -03:00
clone.c perf trace beauty clone: Suppress unused args according to 'flags' arg 2017-07-20 11:03:10 -03:00
drm_ioctl.sh perf trace beauty ioctl: Beautify DRM ioctl cmds 2017-08-01 13:02:05 -03:00
eventfd.c perf trace beauty eventfd: No need to include eventfd.h 2016-06-30 18:27:43 -03:00
fcntl.c perf trace beauty fcntl: Beautify the 'arg' for DUPFD 2017-07-18 23:14:26 -03:00
flock.c perf trace beauty flock: Add more conditional defines 2016-07-12 00:00:39 -03:00
futex_op.c perf trace beauty futex_op: Add missing defines for older systems 2016-07-12 15:20:37 -03:00
ioctl.c perf trace beautify ioctl: Beautify perf ioctl's 'cmd' arg 2017-08-01 13:33:50 -03:00
kvm_ioctl.sh perf trace beautify ioctl: Beautify KVM ioctl's 'cmd' arg 2017-08-01 13:02:52 -03:00
mmap.c perf trace beauty mmap: Ignore 'fd' and 'offset' args for MAP_ANONYMOUS 2017-07-20 09:55:51 -03:00
mode_t.c perf trace: Beautify mode_t arguments 2016-04-08 09:58:13 -03:00
msg_flags.c perf trace beauty msg_flags: Remove MSG_TRYHARD 2016-07-12 00:00:39 -03:00
open_flags.c perf trace beauty: Give syscall return beautifier more context 2017-07-18 23:14:02 -03:00
perf_event_open.c perf trace: Move perf_flags beautifier to tools/perf/trace/beauty/ 2016-04-26 13:14:59 -03:00
perf_ioctl.sh perf trace beautify ioctl: Beautify perf ioctl's 'cmd' arg 2017-08-01 13:33:50 -03:00
pid.c perf trace beauty: Export the pid beautifier for use in more places 2017-07-18 23:14:04 -03:00
pkey_alloc.c perf trace beauty: Beautify pkey_{alloc,free,mprotect} arguments 2017-08-28 16:44:47 -03:00
pkey_alloc_access_rights.sh perf trace beauty: Beautify pkey_{alloc,free,mprotect} arguments 2017-08-28 16:44:47 -03:00
sched_policy.c perf trace beauty sched_policy: Define SCHED_RESET_ON_FORK for older systems 2016-06-30 18:27:43 -03:00
seccomp.c perf trace beauty seccomp: Remove seccomp.h include 2016-07-12 15:20:38 -03:00
signum.c perf tools: Add signal.h to places using its definitions 2017-04-20 13:22:43 -03:00
sndrv_ctl_ioctl.sh perf trace beautify ioctl: Beautify sound ioctl's 'cmd' arg 2017-08-01 13:02:40 -03:00
sndrv_pcm_ioctl.sh perf trace beautify ioctl: Beautify sound ioctl's 'cmd' arg 2017-08-01 13:02:40 -03:00
socket_type.c perf trace: Move socket_type beautifier to tools/perf/trace/beauty/ 2016-04-14 13:53:10 -03:00
statx.c perf trace: Beautify statx syscall 'flag' and 'mask' arguments 2017-03-31 14:42:31 -03:00
vhost_virtio_ioctl.sh perf trace beautify ioctl: Beautify vhost virtio ioctl's 'cmd' arg 2017-08-01 13:32:46 -03:00
waitid_options.c perf trace: Beautify wait4/waitid 'options' argument 2016-04-06 14:13:43 -03:00