diff options
| author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-05-23 15:37:55 -0400 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-05-23 15:41:00 -0400 |
| commit | 12f3ca4fc8e27aa602c9c3c717d755b1e8f7fd47 (patch) | |
| tree | 440446ce36e747dabfc2634ba2bc858b8566520d /tools | |
| parent | b6565c908ad7eb28dfdda9578ec5a074e080cedc (diff) | |
perf trace: Use the ptr->name beautifier as default for "filename" args
Auto-attach the ptr->name beautifier to syscall args "filename", "path"
and "pathname" if they are of type "const char *".
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Milian Wolff <milian.wolff@kdab.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-jxii4qmcgoppftv0zdvml9d7@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/perf/builtin-trace.c | 120 |
1 files changed, 43 insertions, 77 deletions
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index 181f69cd6a8e..5c50fe70d6b3 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c | |||
| @@ -576,44 +576,36 @@ static struct syscall_fmt { | |||
| 576 | bool hexret; | 576 | bool hexret; |
| 577 | } syscall_fmts[] = { | 577 | } syscall_fmts[] = { |
| 578 | { .name = "access", .errmsg = true, | 578 | { .name = "access", .errmsg = true, |
| 579 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ | 579 | .arg_scnprintf = { [1] = SCA_ACCMODE, /* mode */ }, }, |
| 580 | [1] = SCA_ACCMODE, /* mode */ }, }, | ||
| 581 | { .name = "arch_prctl", .errmsg = true, .alias = "prctl", }, | 580 | { .name = "arch_prctl", .errmsg = true, .alias = "prctl", }, |
| 582 | { .name = "bpf", .errmsg = true, STRARRAY(0, cmd, bpf_cmd), }, | 581 | { .name = "bpf", .errmsg = true, STRARRAY(0, cmd, bpf_cmd), }, |
| 583 | { .name = "brk", .hexret = true, | 582 | { .name = "brk", .hexret = true, |
| 584 | .arg_scnprintf = { [0] = SCA_HEX, /* brk */ }, }, | 583 | .arg_scnprintf = { [0] = SCA_HEX, /* brk */ }, }, |
| 585 | { .name = "chdir", .errmsg = true, | 584 | { .name = "chdir", .errmsg = true, }, |
| 586 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ }, }, | 585 | { .name = "chmod", .errmsg = true, }, |
| 587 | { .name = "chmod", .errmsg = true, | 586 | { .name = "chroot", .errmsg = true, }, |
| 588 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ }, }, | ||
| 589 | { .name = "chroot", .errmsg = true, | ||
| 590 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ }, }, | ||
| 591 | { .name = "clock_gettime", .errmsg = true, STRARRAY(0, clk_id, clockid), }, | 587 | { .name = "clock_gettime", .errmsg = true, STRARRAY(0, clk_id, clockid), }, |
| 592 | { .name = "clone", .errpid = true, }, | 588 | { .name = "clone", .errpid = true, }, |
| 593 | { .name = "close", .errmsg = true, | 589 | { .name = "close", .errmsg = true, |
| 594 | .arg_scnprintf = { [0] = SCA_CLOSE_FD, /* fd */ }, }, | 590 | .arg_scnprintf = { [0] = SCA_CLOSE_FD, /* fd */ }, }, |
| 595 | { .name = "connect", .errmsg = true, }, | 591 | { .name = "connect", .errmsg = true, }, |
| 596 | { .name = "creat", .errmsg = true, | 592 | { .name = "creat", .errmsg = true, }, |
| 597 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 598 | { .name = "dup", .errmsg = true, }, | 593 | { .name = "dup", .errmsg = true, }, |
| 599 | { .name = "dup2", .errmsg = true, }, | 594 | { .name = "dup2", .errmsg = true, }, |
| 600 | { .name = "dup3", .errmsg = true, }, | 595 | { .name = "dup3", .errmsg = true, }, |
| 601 | { .name = "epoll_ctl", .errmsg = true, STRARRAY(1, op, epoll_ctl_ops), }, | 596 | { .name = "epoll_ctl", .errmsg = true, STRARRAY(1, op, epoll_ctl_ops), }, |
| 602 | { .name = "eventfd2", .errmsg = true, | 597 | { .name = "eventfd2", .errmsg = true, |
| 603 | .arg_scnprintf = { [1] = SCA_EFD_FLAGS, /* flags */ }, }, | 598 | .arg_scnprintf = { [1] = SCA_EFD_FLAGS, /* flags */ }, }, |
| 604 | { .name = "faccessat", .errmsg = true, | 599 | { .name = "faccessat", .errmsg = true, }, |
| 605 | .arg_scnprintf = { [1] = SCA_FILENAME, /* filename */ }, }, | ||
| 606 | { .name = "fadvise64", .errmsg = true, }, | 600 | { .name = "fadvise64", .errmsg = true, }, |
| 607 | { .name = "fallocate", .errmsg = true, }, | 601 | { .name = "fallocate", .errmsg = true, }, |
| 608 | { .name = "fchdir", .errmsg = true, }, | 602 | { .name = "fchdir", .errmsg = true, }, |
| 609 | { .name = "fchmod", .errmsg = true, }, | 603 | { .name = "fchmod", .errmsg = true, }, |
| 610 | { .name = "fchmodat", .errmsg = true, | 604 | { .name = "fchmodat", .errmsg = true, |
| 611 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ | 605 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ }, }, |
| 612 | [1] = SCA_FILENAME, /* filename */ }, }, | ||
| 613 | { .name = "fchown", .errmsg = true, }, | 606 | { .name = "fchown", .errmsg = true, }, |
| 614 | { .name = "fchownat", .errmsg = true, | 607 | { .name = "fchownat", .errmsg = true, |
| 615 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ | 608 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ }, }, |
| 616 | [1] = SCA_FILENAME, /* filename */ }, }, | ||
| 617 | { .name = "fcntl", .errmsg = true, | 609 | { .name = "fcntl", .errmsg = true, |
| 618 | .arg_scnprintf = { [1] = SCA_STRARRAY, /* cmd */ }, | 610 | .arg_scnprintf = { [1] = SCA_STRARRAY, /* cmd */ }, |
| 619 | .arg_parm = { [1] = &strarray__fcntl_cmds, /* cmd */ }, }, | 611 | .arg_parm = { [1] = &strarray__fcntl_cmds, /* cmd */ }, }, |
| @@ -622,16 +614,14 @@ static struct syscall_fmt { | |||
| 622 | .arg_scnprintf = { [1] = SCA_FLOCK, /* cmd */ }, }, | 614 | .arg_scnprintf = { [1] = SCA_FLOCK, /* cmd */ }, }, |
| 623 | { .name = "fsetxattr", .errmsg = true, }, | 615 | { .name = "fsetxattr", .errmsg = true, }, |
| 624 | { .name = "fstat", .errmsg = true, .alias = "newfstat", }, | 616 | { .name = "fstat", .errmsg = true, .alias = "newfstat", }, |
| 625 | { .name = "fstatat", .errmsg = true, .alias = "newfstatat", | 617 | { .name = "fstatat", .errmsg = true, .alias = "newfstatat", }, |
| 626 | .arg_scnprintf = { [1] = SCA_FILENAME, /* filename */ }, }, | ||
| 627 | { .name = "fstatfs", .errmsg = true, }, | 618 | { .name = "fstatfs", .errmsg = true, }, |
| 628 | { .name = "fsync", .errmsg = true, }, | 619 | { .name = "fsync", .errmsg = true, }, |
| 629 | { .name = "ftruncate", .errmsg = true, }, | 620 | { .name = "ftruncate", .errmsg = true, }, |
| 630 | { .name = "futex", .errmsg = true, | 621 | { .name = "futex", .errmsg = true, |
| 631 | .arg_scnprintf = { [1] = SCA_FUTEX_OP, /* op */ }, }, | 622 | .arg_scnprintf = { [1] = SCA_FUTEX_OP, /* op */ }, }, |
| 632 | { .name = "futimesat", .errmsg = true, | 623 | { .name = "futimesat", .errmsg = true, |
| 633 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ | 624 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ }, }, |
| 634 | [1] = SCA_FILENAME, /* filename */ }, }, | ||
| 635 | { .name = "getdents", .errmsg = true, }, | 625 | { .name = "getdents", .errmsg = true, }, |
| 636 | { .name = "getdents64", .errmsg = true, }, | 626 | { .name = "getdents64", .errmsg = true, }, |
| 637 | { .name = "getitimer", .errmsg = true, STRARRAY(0, which, itimers), }, | 627 | { .name = "getitimer", .errmsg = true, STRARRAY(0, which, itimers), }, |
| @@ -641,10 +631,8 @@ static struct syscall_fmt { | |||
| 641 | { .name = "getrandom", .errmsg = true, | 631 | { .name = "getrandom", .errmsg = true, |
| 642 | .arg_scnprintf = { [2] = SCA_GETRANDOM_FLAGS, /* flags */ }, }, | 632 | .arg_scnprintf = { [2] = SCA_GETRANDOM_FLAGS, /* flags */ }, }, |
| 643 | { .name = "getrlimit", .errmsg = true, STRARRAY(0, resource, rlimit_resources), }, | 633 | { .name = "getrlimit", .errmsg = true, STRARRAY(0, resource, rlimit_resources), }, |
| 644 | { .name = "getxattr", .errmsg = true, | 634 | { .name = "getxattr", .errmsg = true, }, |
| 645 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | 635 | { .name = "inotify_add_watch", .errmsg = true, }, |
| 646 | { .name = "inotify_add_watch", .errmsg = true, | ||
| 647 | .arg_scnprintf = { [1] = SCA_FILENAME, /* pathname */ }, }, | ||
| 648 | { .name = "ioctl", .errmsg = true, | 636 | { .name = "ioctl", .errmsg = true, |
| 649 | .arg_scnprintf = { | 637 | .arg_scnprintf = { |
| 650 | #if defined(__i386__) || defined(__x86_64__) | 638 | #if defined(__i386__) || defined(__x86_64__) |
| @@ -660,40 +648,28 @@ static struct syscall_fmt { | |||
| 660 | { .name = "keyctl", .errmsg = true, STRARRAY(0, option, keyctl_options), }, | 648 | { .name = "keyctl", .errmsg = true, STRARRAY(0, option, keyctl_options), }, |
| 661 | { .name = "kill", .errmsg = true, | 649 | { .name = "kill", .errmsg = true, |
| 662 | .arg_scnprintf = { [1] = SCA_SIGNUM, /* sig */ }, }, | 650 | .arg_scnprintf = { [1] = SCA_SIGNUM, /* sig */ }, }, |
| 663 | { .name = "lchown", .errmsg = true, | 651 | { .name = "lchown", .errmsg = true, }, |
| 664 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ }, }, | 652 | { .name = "lgetxattr", .errmsg = true, }, |
| 665 | { .name = "lgetxattr", .errmsg = true, | ||
| 666 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 667 | { .name = "linkat", .errmsg = true, | 653 | { .name = "linkat", .errmsg = true, |
| 668 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ }, }, | 654 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ }, }, |
| 669 | { .name = "listxattr", .errmsg = true, | 655 | { .name = "listxattr", .errmsg = true, }, |
| 670 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | 656 | { .name = "llistxattr", .errmsg = true, }, |
| 671 | { .name = "llistxattr", .errmsg = true, | 657 | { .name = "lremovexattr", .errmsg = true, }, |
| 672 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 673 | { .name = "lremovexattr", .errmsg = true, | ||
| 674 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 675 | { .name = "lseek", .errmsg = true, | 658 | { .name = "lseek", .errmsg = true, |
| 676 | .arg_scnprintf = { [2] = SCA_STRARRAY, /* whence */ }, | 659 | .arg_scnprintf = { [2] = SCA_STRARRAY, /* whence */ }, |
| 677 | .arg_parm = { [2] = &strarray__whences, /* whence */ }, }, | 660 | .arg_parm = { [2] = &strarray__whences, /* whence */ }, }, |
| 678 | { .name = "lsetxattr", .errmsg = true, | 661 | { .name = "lsetxattr", .errmsg = true, }, |
| 679 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | 662 | { .name = "lstat", .errmsg = true, .alias = "newlstat", }, |
| 680 | { .name = "lstat", .errmsg = true, .alias = "newlstat", | 663 | { .name = "lsxattr", .errmsg = true, }, |
| 681 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ }, }, | ||
| 682 | { .name = "lsxattr", .errmsg = true, | ||
| 683 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 684 | { .name = "madvise", .errmsg = true, | 664 | { .name = "madvise", .errmsg = true, |
| 685 | .arg_scnprintf = { [0] = SCA_HEX, /* start */ | 665 | .arg_scnprintf = { [0] = SCA_HEX, /* start */ |
| 686 | [2] = SCA_MADV_BHV, /* behavior */ }, }, | 666 | [2] = SCA_MADV_BHV, /* behavior */ }, }, |
| 687 | { .name = "mkdir", .errmsg = true, | 667 | { .name = "mkdir", .errmsg = true, }, |
| 688 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 689 | { .name = "mkdirat", .errmsg = true, | 668 | { .name = "mkdirat", .errmsg = true, |
| 690 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ | 669 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ }, }, |
| 691 | [1] = SCA_FILENAME, /* pathname */ }, }, | 670 | { .name = "mknod", .errmsg = true, }, |
| 692 | { .name = "mknod", .errmsg = true, | ||
| 693 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ }, }, | ||
| 694 | { .name = "mknodat", .errmsg = true, | 671 | { .name = "mknodat", .errmsg = true, |
| 695 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ | 672 | .arg_scnprintf = { [0] = SCA_FDAT, /* fd */ }, }, |
| 696 | [1] = SCA_FILENAME, /* filename */ }, }, | ||
| 697 | { .name = "mlock", .errmsg = true, | 673 | { .name = "mlock", .errmsg = true, |
| 698 | .arg_scnprintf = { [0] = SCA_HEX, /* addr */ }, }, | 674 | .arg_scnprintf = { [0] = SCA_HEX, /* addr */ }, }, |
| 699 | { .name = "mlockall", .errmsg = true, | 675 | { .name = "mlockall", .errmsg = true, |
| @@ -718,17 +694,14 @@ static struct syscall_fmt { | |||
| 718 | { .name = "name_to_handle_at", .errmsg = true, | 694 | { .name = "name_to_handle_at", .errmsg = true, |
| 719 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ }, }, | 695 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ }, }, |
| 720 | { .name = "newfstatat", .errmsg = true, | 696 | { .name = "newfstatat", .errmsg = true, |
| 721 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ | 697 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ }, }, |
| 722 | [1] = SCA_FILENAME, /* filename */ }, }, | ||
| 723 | { .name = "open", .errmsg = true, | 698 | { .name = "open", .errmsg = true, |
| 724 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ | 699 | .arg_scnprintf = { [1] = SCA_OPEN_FLAGS, /* flags */ }, }, |
| 725 | [1] = SCA_OPEN_FLAGS, /* flags */ }, }, | ||
| 726 | { .name = "open_by_handle_at", .errmsg = true, | 700 | { .name = "open_by_handle_at", .errmsg = true, |
| 727 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ | 701 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ |
| 728 | [2] = SCA_OPEN_FLAGS, /* flags */ }, }, | 702 | [2] = SCA_OPEN_FLAGS, /* flags */ }, }, |
| 729 | { .name = "openat", .errmsg = true, | 703 | { .name = "openat", .errmsg = true, |
| 730 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ | 704 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ |
| 731 | [1] = SCA_FILENAME, /* filename */ | ||
| 732 | [2] = SCA_OPEN_FLAGS, /* flags */ }, }, | 705 | [2] = SCA_OPEN_FLAGS, /* flags */ }, }, |
| 733 | { .name = "perf_event_open", .errmsg = true, | 706 | { .name = "perf_event_open", .errmsg = true, |
| 734 | .arg_scnprintf = { [2] = SCA_INT, /* cpu */ | 707 | .arg_scnprintf = { [2] = SCA_INT, /* cpu */ |
| @@ -744,11 +717,9 @@ static struct syscall_fmt { | |||
| 744 | { .name = "pwrite", .errmsg = true, .alias = "pwrite64", }, | 717 | { .name = "pwrite", .errmsg = true, .alias = "pwrite64", }, |
| 745 | { .name = "pwritev", .errmsg = true, }, | 718 | { .name = "pwritev", .errmsg = true, }, |
| 746 | { .name = "read", .errmsg = true, }, | 719 | { .name = "read", .errmsg = true, }, |
| 747 | { .name = "readlink", .errmsg = true, | 720 | { .name = "readlink", .errmsg = true, }, |
| 748 | .arg_scnprintf = { [0] = SCA_FILENAME, /* path */ }, }, | ||
| 749 | { .name = "readlinkat", .errmsg = true, | 721 | { .name = "readlinkat", .errmsg = true, |
| 750 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ | 722 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ }, }, |
| 751 | [1] = SCA_FILENAME, /* pathname */ }, }, | ||
| 752 | { .name = "readv", .errmsg = true, }, | 723 | { .name = "readv", .errmsg = true, }, |
| 753 | { .name = "recvfrom", .errmsg = true, | 724 | { .name = "recvfrom", .errmsg = true, |
| 754 | .arg_scnprintf = { [3] = SCA_MSG_FLAGS, /* flags */ }, }, | 725 | .arg_scnprintf = { [3] = SCA_MSG_FLAGS, /* flags */ }, }, |
| @@ -756,12 +727,10 @@ static struct syscall_fmt { | |||
| 756 | .arg_scnprintf = { [3] = SCA_MSG_FLAGS, /* flags */ }, }, | 727 | .arg_scnprintf = { [3] = SCA_MSG_FLAGS, /* flags */ }, }, |
| 757 | { .name = "recvmsg", .errmsg = true, | 728 | { .name = "recvmsg", .errmsg = true, |
| 758 | .arg_scnprintf = { [2] = SCA_MSG_FLAGS, /* flags */ }, }, | 729 | .arg_scnprintf = { [2] = SCA_MSG_FLAGS, /* flags */ }, }, |
| 759 | { .name = "removexattr", .errmsg = true, | 730 | { .name = "removexattr", .errmsg = true, }, |
| 760 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 761 | { .name = "renameat", .errmsg = true, | 731 | { .name = "renameat", .errmsg = true, |
| 762 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ }, }, | 732 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ }, }, |
| 763 | { .name = "rmdir", .errmsg = true, | 733 | { .name = "rmdir", .errmsg = true, }, |
| 764 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 765 | { .name = "rt_sigaction", .errmsg = true, | 734 | { .name = "rt_sigaction", .errmsg = true, |
| 766 | .arg_scnprintf = { [0] = SCA_SIGNUM, /* sig */ }, }, | 735 | .arg_scnprintf = { [0] = SCA_SIGNUM, /* sig */ }, }, |
| 767 | { .name = "rt_sigprocmask", .errmsg = true, STRARRAY(0, how, sighow), }, | 736 | { .name = "rt_sigprocmask", .errmsg = true, STRARRAY(0, how, sighow), }, |
| @@ -785,8 +754,7 @@ static struct syscall_fmt { | |||
| 785 | { .name = "setitimer", .errmsg = true, STRARRAY(0, which, itimers), }, | 754 | { .name = "setitimer", .errmsg = true, STRARRAY(0, which, itimers), }, |
| 786 | { .name = "setpgid", .errmsg = true, }, | 755 | { .name = "setpgid", .errmsg = true, }, |
| 787 | { .name = "setrlimit", .errmsg = true, STRARRAY(0, resource, rlimit_resources), }, | 756 | { .name = "setrlimit", .errmsg = true, STRARRAY(0, resource, rlimit_resources), }, |
| 788 | { .name = "setxattr", .errmsg = true, | 757 | { .name = "setxattr", .errmsg = true, }, |
| 789 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 790 | { .name = "shutdown", .errmsg = true, }, | 758 | { .name = "shutdown", .errmsg = true, }, |
| 791 | { .name = "socket", .errmsg = true, | 759 | { .name = "socket", .errmsg = true, |
| 792 | .arg_scnprintf = { [0] = SCA_STRARRAY, /* family */ | 760 | .arg_scnprintf = { [0] = SCA_STRARRAY, /* family */ |
| @@ -796,10 +764,8 @@ static struct syscall_fmt { | |||
| 796 | .arg_scnprintf = { [0] = SCA_STRARRAY, /* family */ | 764 | .arg_scnprintf = { [0] = SCA_STRARRAY, /* family */ |
| 797 | [1] = SCA_SK_TYPE, /* type */ }, | 765 | [1] = SCA_SK_TYPE, /* type */ }, |
| 798 | .arg_parm = { [0] = &strarray__socket_families, /* family */ }, }, | 766 | .arg_parm = { [0] = &strarray__socket_families, /* family */ }, }, |
| 799 | { .name = "stat", .errmsg = true, .alias = "newstat", | 767 | { .name = "stat", .errmsg = true, .alias = "newstat", }, |
| 800 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | 768 | { .name = "statfs", .errmsg = true, }, |
| 801 | { .name = "statfs", .errmsg = true, | ||
| 802 | .arg_scnprintf = { [0] = SCA_FILENAME, /* pathname */ }, }, | ||
| 803 | { .name = "swapoff", .errmsg = true, | 769 | { .name = "swapoff", .errmsg = true, |
| 804 | .arg_scnprintf = { [0] = SCA_FILENAME, /* specialfile */ }, }, | 770 | .arg_scnprintf = { [0] = SCA_FILENAME, /* specialfile */ }, }, |
| 805 | { .name = "swapon", .errmsg = true, | 771 | { .name = "swapon", .errmsg = true, |
| @@ -810,19 +776,14 @@ static struct syscall_fmt { | |||
| 810 | .arg_scnprintf = { [2] = SCA_SIGNUM, /* sig */ }, }, | 776 | .arg_scnprintf = { [2] = SCA_SIGNUM, /* sig */ }, }, |
| 811 | { .name = "tkill", .errmsg = true, | 777 | { .name = "tkill", .errmsg = true, |
| 812 | .arg_scnprintf = { [1] = SCA_SIGNUM, /* sig */ }, }, | 778 | .arg_scnprintf = { [1] = SCA_SIGNUM, /* sig */ }, }, |
| 813 | { .name = "truncate", .errmsg = true, | 779 | { .name = "truncate", .errmsg = true, }, |
| 814 | .arg_scnprintf = { [0] = SCA_FILENAME, /* path */ }, }, | ||
| 815 | { .name = "uname", .errmsg = true, .alias = "newuname", }, | 780 | { .name = "uname", .errmsg = true, .alias = "newuname", }, |
| 816 | { .name = "unlinkat", .errmsg = true, | 781 | { .name = "unlinkat", .errmsg = true, |
| 817 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ | 782 | .arg_scnprintf = { [0] = SCA_FDAT, /* dfd */ }, }, |
| 818 | [1] = SCA_FILENAME, /* pathname */ }, }, | 783 | { .name = "utime", .errmsg = true, }, |
| 819 | { .name = "utime", .errmsg = true, | ||
| 820 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ }, }, | ||
| 821 | { .name = "utimensat", .errmsg = true, | 784 | { .name = "utimensat", .errmsg = true, |
| 822 | .arg_scnprintf = { [0] = SCA_FDAT, /* dirfd */ | 785 | .arg_scnprintf = { [0] = SCA_FDAT, /* dirfd */ }, }, |
| 823 | [1] = SCA_FILENAME, /* filename */ }, }, | 786 | { .name = "utimes", .errmsg = true, }, |
| 824 | { .name = "utimes", .errmsg = true, | ||
| 825 | .arg_scnprintf = { [0] = SCA_FILENAME, /* filename */ }, }, | ||
| 826 | { .name = "vmsplice", .errmsg = true, }, | 787 | { .name = "vmsplice", .errmsg = true, }, |
| 827 | { .name = "wait4", .errpid = true, | 788 | { .name = "wait4", .errpid = true, |
| 828 | .arg_scnprintf = { [2] = SCA_WAITID_OPTIONS, /* options */ }, }, | 789 | .arg_scnprintf = { [2] = SCA_WAITID_OPTIONS, /* options */ }, }, |
| @@ -1178,6 +1139,11 @@ static int syscall__set_arg_fmts(struct syscall *sc) | |||
| 1178 | for (field = sc->args; field; field = field->next) { | 1139 | for (field = sc->args; field; field = field->next) { |
| 1179 | if (sc->fmt && sc->fmt->arg_scnprintf[idx]) | 1140 | if (sc->fmt && sc->fmt->arg_scnprintf[idx]) |
| 1180 | sc->arg_scnprintf[idx] = sc->fmt->arg_scnprintf[idx]; | 1141 | sc->arg_scnprintf[idx] = sc->fmt->arg_scnprintf[idx]; |
| 1142 | else if (strcmp(field->type, "const char *") == 0 && | ||
| 1143 | (strcmp(field->name, "filename") == 0 || | ||
| 1144 | strcmp(field->name, "path") == 0 || | ||
| 1145 | strcmp(field->name, "pathname") == 0)) | ||
| 1146 | sc->arg_scnprintf[idx] = SCA_FILENAME; | ||
| 1181 | else if (field->flags & FIELD_IS_POINTER) | 1147 | else if (field->flags & FIELD_IS_POINTER) |
| 1182 | sc->arg_scnprintf[idx] = syscall_arg__scnprintf_hex; | 1148 | sc->arg_scnprintf[idx] = syscall_arg__scnprintf_hex; |
| 1183 | else if (strcmp(field->type, "pid_t") == 0) | 1149 | else if (strcmp(field->type, "pid_t") == 0) |
