diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2015-12-06 15:33:53 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2015-12-06 15:33:53 +0000 |
commit | eb76c4be150102e5ddf2f2cf90673d8d7cda9afd (patch) | |
tree | a5d6f758d47386c96dea8b173682fb119369ecce /prctl.c | |
parent | 1b283307d1a6ffbeb14aa8f76f85ddf506c568de (diff) | |
download | strace-eb76c4be150102e5ddf2f2cf90673d8d7cda9afd.tar.gz |
prctl: add PR_CAP_AMBIENT parser
* xlat/pr_cap_ambient.in: New file.
* prctl.c: Include "xlat/pr_cap_ambient.h".
(SYS_FUNC(prctl)): Handle PR_CAP_AMBIENT.
Diffstat (limited to 'prctl.c')
-rw-r--r-- | prctl.c | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -3,11 +3,12 @@ #include <sys/prctl.h> #include "xlat/prctl_options.h" -#include "xlat/pr_unalign_flags.h" +#include "xlat/pr_cap_ambient.h" #include "xlat/pr_mce_kill.h" #include "xlat/pr_mce_kill_policy.h" #include "xlat/pr_set_mm.h" #include "xlat/pr_tsc.h" +#include "xlat/pr_unalign_flags.h" #ifndef TASK_COMM_LEN # define TASK_COMM_LEN 16 @@ -142,6 +143,23 @@ SYS_FUNC(prctl) printxval(cap, tcp->u_arg[1], "CAP_???"); return RVAL_DECODED; + case PR_CAP_AMBIENT: + tprints(", "); + printxval(pr_cap_ambient, tcp->u_arg[1], "PR_CAP_AMBIENT_???"); + switch (tcp->u_arg[1]) { + case PR_CAP_AMBIENT_RAISE: + case PR_CAP_AMBIENT_LOWER: + case PR_CAP_AMBIENT_IS_SET: + tprints(", "); + printxval(cap, tcp->u_arg[2], "CAP_???"); + print_prctl_args(tcp, 3); + break; + default: + print_prctl_args(tcp, 2); + break; + } + return RVAL_DECODED; + case PR_MCE_KILL: tprints(", "); printxval(pr_mce_kill, tcp->u_arg[1], "PR_MCE_KILL_???"); |