aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libsandbox/trace.c')
-rw-r--r--libsandbox/trace.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libsandbox/trace.c b/libsandbox/trace.c
index d70f3bc..75a749e 100644
--- a/libsandbox/trace.c
+++ b/libsandbox/trace.c
@@ -455,8 +455,21 @@ static bool trace_check_syscall(const struct syscall_entry *se, void *regs)
}
__sb_debug("})");
return 1;
+ } else if (nr == SB_NR_FCHMOD) {
+ int fd = trace_arg(regs, 1);
+ mode_t mode = trace_arg(regs, 2);
+ __sb_debug("(%i, %o)", fd, mode);
+ return _SB_SAFE_FD(nr, name, fd);
+
+ } else if (nr == SB_NR_FCHOWN) {
+ int fd = trace_arg(regs, 1);
+ uid_t uid = trace_arg(regs, 2);
+ gid_t gid = trace_arg(regs, 3);
+ __sb_debug("(%i, %i, %i)", fd, uid, gid);
+ return _SB_SAFE_FD(nr, name, fd);
}
+
done:
__sb_debug("(...)");
return ret;