This will make further uid/gid fixes simpler.
* fchownat.c: New file.
* chown.c (sys_fchownat: Move to fchownat.c.
(sys_chown, sys_fchown): Move to uid.c.
* Makefile.am (strace_SOURCES): Remove chown.c, add fchownat.c.
capability.c \
chdir.c \
chmod.c \
- chown.c \
clone.c \
count.c \
desc.c \
fadvise.c \
fallocate.c \
fanotify.c \
+ fchownat.c \
file.c \
futex.c \
get_robust_list.c \
+++ /dev/null
-#include "defs.h"
-
-int
-sys_chown(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printpath(tcp, tcp->u_arg[0]);
- printuid(", ", tcp->u_arg[1]);
- printuid(", ", tcp->u_arg[2]);
- }
- return 0;
-}
-
-int
-sys_fchownat(struct tcb *tcp)
-{
- if (entering(tcp)) {
- print_dirfd(tcp, tcp->u_arg[0]);
- printpath(tcp, tcp->u_arg[1]);
- printuid(", ", tcp->u_arg[2]);
- printuid(", ", tcp->u_arg[3]);
- tprints(", ");
- printflags(at_flags, tcp->u_arg[4], "AT_???");
- }
- return 0;
-}
-
-int
-sys_fchown(struct tcb *tcp)
-{
- if (entering(tcp)) {
- printfd(tcp, tcp->u_arg[0]);
- printuid(", ", tcp->u_arg[1]);
- printuid(", ", tcp->u_arg[2]);
- }
- return 0;
-}
--- /dev/null
+#include "defs.h"
+
+int
+sys_fchownat(struct tcb *tcp)
+{
+ if (entering(tcp)) {
+ print_dirfd(tcp, tcp->u_arg[0]);
+ printpath(tcp, tcp->u_arg[1]);
+ printuid(", ", tcp->u_arg[2]);
+ printuid(", ", tcp->u_arg[3]);
+ tprints(", ");
+ printflags(at_flags, tcp->u_arg[4], "AT_???");
+ }
+ return 0;
+}
return 0;
}
+int
+sys_chown(struct tcb *tcp)
+{
+ if (entering(tcp)) {
+ printpath(tcp, tcp->u_arg[0]);
+ printuid(", ", tcp->u_arg[1]);
+ printuid(", ", tcp->u_arg[2]);
+ }
+ return 0;
+}
+
+int
+sys_fchown(struct tcb *tcp)
+{
+ if (entering(tcp)) {
+ printfd(tcp, tcp->u_arg[0]);
+ printuid(", ", tcp->u_arg[1]);
+ printuid(", ", tcp->u_arg[2]);
+ }
+ return 0;
+}
+
void
printuid(const char *text, const unsigned int uid)
{