1 diff -Nur strace-4.4.orig/linux/alpha/syscallent.h strace-4.4/linux/alpha/syscallent.h
2 --- strace-4.4.orig/linux/alpha/syscallent.h Mon May 1 03:54:00 2000
3 +++ strace-4.4/linux/alpha/syscallent.h Fri Oct 19 15:28:02 2001
5 { 5, 0, printargs, "osf_old_vadvise" }, /* 72, not implemented */
6 { 2, 0, sys_munmap, "munmap" }, /* 73 */
7 { 3, 0, sys_mprotect, "mprotect" }, /* 74 */
8 - { 0, 0, sys_madvise, "madvise" }, /* 75 */
9 + { 3, 0, sys_madvise, "madvise" }, /* 75 */
10 { 0, 0, sys_vhangup, "vhangup" }, /* 76 */
11 { 5, 0, printargs, "osf_kmodcall" }, /* 77, not implemented */
12 { 5, 0, printargs, "osf_mincore" }, /* 78, not implemented */
14 { 2, 0, sys_capget, "capget" }, /* 368 */
15 { 2, 0, sys_capset, "capset" }, /* 369 */
16 { 4, TF, sys_sendfile, "sendfile" }, /* 370 */
17 - { 3, 0, printargs, "setresgid" }, /* 371 */
18 - { 3, 0, printargs, "getresgid" }, /* 372 */
19 - { 4, 0, printargs, "dipc" }, /* 373, not implemented */
20 - { 2, TF, printargs, "pivot_root" }, /* 374 */
21 - { 3, 0, printargs, "mincore" }, /* 375 */
22 - { 4, 0, printargs, "pciconfig_iobase" }, /* 376 */
23 + { 3, 0, sys_setresgid, "setresgid" }, /* 371 */
24 + { 3, 0, sys_getresgid, "getresgid" }, /* 372 */
25 + { 5, 0, printargs, "dipc" }, /* 373, not implemented */
26 + { 2, TF, sys_pivotroot, "pivot_root" }, /* 374 */
27 + { 3, 0, sys_mincore, "mincore" }, /* 375 */
28 + { 3, 0, printargs, "pciconfig_iobase" }, /* 376 */
29 diff -Nur strace-4.4.orig/linux/dummy.h strace-4.4/linux/dummy.h
30 --- strace-4.4.orig/linux/dummy.h Mon May 1 03:54:00 2000
31 +++ strace-4.4/linux/dummy.h Fri Oct 19 15:28:02 2001
33 #define sys_vhangup printargs
34 #define sys_idle printargs
35 #define sys_getpgid printargs
36 +#define sys_getuid32 printargs
37 +#define sys_getgid32 printargs
38 +#define sys_geteuid32 printargs
39 +#define sys_getegid32 printargs
40 +#define sys_setfsuid32 printargs
41 +#define sys_setfsgid32 printargs
42 #define sys_munlockall printargs
44 /* subcall entry points */
45 diff -Nur strace-4.4.orig/linux/sparc/syscall.h strace-4.4/linux/sparc/syscall.h
46 --- strace-4.4.orig/linux/sparc/syscall.h Fri Oct 19 15:27:34 2001
47 +++ strace-4.4/linux/sparc/syscall.h Fri Oct 19 15:28:02 2001
49 int sys_setsid(), sys_setpgid();
50 int sys_uname(), sys_sysinfo();
53 +int sys_getuid32(), sys_getgid32(), sys_geteuid32(), sys_getegid32();
54 +int sys_setreuid32(), sys_setregid32(), sys_getgroups32(), sys_setgroups32();
55 +int sys_setresuid32(), sys_getresuid32(), sys_setresgid32();
56 +int sys_getresgid32(), sys_setuid32(), sys_setgid32();
57 +int sys_setfsuid32(), sys_setfsgid32();
59 /* 1.2 memory management */
60 int sys_brk(),sys_sbrk(),sys_sstk();
61 int sys_getpagesize(),sys_mmap(),sys_mctl(),sys_munmap(),sys_mprotect(),sys_mincore(), sys_mremap();
62 --- strace-4.4.94/linux/sparc/syscallent.h.orig Tue Jan 14 23:29:43 2003
63 +++ strace-4.4.94/linux/sparc/syscallent.h Fri Apr 4 09:03:24 2003
65 { 2, TS, sys_sigaltstack,"sigaltstack" }, /* 28 */
66 { 0, TS, sys_pause, "pause" }, /* 29 */
67 { 2, TF, sys_utime, "utime" }, /* 30 */
68 - { 2, 0, sys_stty, "stty" }, /* 31 */
69 - { 2, 0, sys_gtty, "gtty" }, /* 32 */
70 + { 3, TF, printargs, "lchown32" }, /* 31 */
71 + { 3, 0, sys_fchown, "fchown32" }, /* 32 */
72 { 2, TF, sys_access, "access" }, /* 33 */
73 { 1, 0, sys_nice, "nice" }, /* 34 */
74 - { 1, 0, sys_ftime, "ftime" }, /* 35 */
75 + { 3, TF, sys_chown, "chown32" }, /* 35 */
76 { 0, 0, sys_sync, "sync" }, /* 36 */
77 { 2, TS, sys_kill, "kill" }, /* 37 */
78 { 2, TF, sys_stat, "stat" }, /* 38 */
80 { 2, 0, sys_dup, "dup" }, /* 41 */
81 { 0, 0, sys_pipe, "pipe" }, /* 42 */
82 { 1, 0, sys_times, "times" }, /* 43 */
83 - { 4, 0, sys_profil, "profil" }, /* 44 */
84 + { 0, 0, sys_getuid32, "getuid32" }, /* 44 */
85 { 2, TF, sys_umount2, "umount" }, /* 45 */
86 { 1, 0, sys_setgid, "setgid" }, /* 46 */
87 { 0, 0, sys_getgid, "getgid" }, /* 47 */
89 { 0, 0, sys_getegid, "getegid" }, /* 50 */
90 { 1, 0, sys_acct, "acct" }, /* 51 */
91 { 0, 0, printargs, "SYS_52" }, /* 52 */
92 - { 4, 0, sys_mctl, "mctl" }, /* 53 */
93 + { 0, 0, sys_getgid32, "getgid32" }, /* 53 */
94 { 3, 0, sys_ioctl, "ioctl" }, /* 54 */
95 { 2, 0, sys_reboot, "reboot" }, /* 55 */
96 - { 3, 0, printargs, "SYS_56" }, /* 56 */
97 + { 6, 0, sys_mmap, "mmap2" }, /* 56 */
98 { 2, TF, sys_symlink, "symlink" }, /* 57 */
99 { 3, TF, sys_readlink, "readlink" }, /* 58 */
100 { 3, TF|TP, sys_execve, "execve" }, /* 59 */
102 { 0, TP, sys_vfork, "vfork" }, /* 66 */
103 { 5, TF, sys_pread, "pread" }, /* 67 */
104 { 5, TF, sys_pwrite, "pwrite" }, /* 68 */
105 - { 1, 0, sys_sbrk, "sbrk" }, /* 69 */
106 - { 1, 0, printargs, "sstk" }, /* 70 */
107 + { 0, 0, sys_geteuid32, "geteuid32" }, /* 69 */
108 + { 0, 0, sys_getegid32, "getegid32" }, /* 70 */
109 { 6, 0, sys_mmap, "mmap" }, /* 71 */
110 - { 1, 0, printargs, "vadvise" }, /* 72 */
111 + { 2, 0, sys_setreuid32, "setreuid32" }, /* 72 */
112 { 2, 0, sys_munmap, "munmap" }, /* 73 */
113 { 3, 0, sys_mprotect, "mprotect" }, /* 74 */
114 { 3, 0, sys_madvise, "madvise" }, /* 75 */
115 { 1, 0, sys_vhangup, "vhangup" }, /* 76 */
116 - { 2, TF, sys_truncate64, "truncate64" }, /* 77 */
117 + { 2, TF, sys_truncate64, "truncate64" }, /* 77 */
118 { 3, 0, sys_mincore, "mincore" }, /* 78 */
119 { 2, 0, sys_getgroups, "getgroups" }, /* 79 */
120 { 2, 0, sys_setgroups, "setgroups" }, /* 80 */
121 { 1, 0, sys_getpgrp, "getpgrp" }, /* 81 */
122 - { 2, 0, sys_setpgrp, "setpgrp" }, /* 82 */
123 + { 2, 0, sys_setgroups32,"setgroups32" }, /* 82 */
124 { 3, 0, sys_setitimer, "setitimer" }, /* 83 */
125 - { 0, 0, printargs, "SYS_84" }, /* 84 */
126 + { 2, 0, sys_ftruncate64,"ftruncate64" }, /* 84 */
127 { 1, TF, sys_swapon, "swapon" }, /* 85 */
128 { 2, 0, sys_getitimer, "getitimer" }, /* 86 */
129 - { 2, 0, sys_gethostname,"gethostname" }, /* 87 */
130 - { 2, 0, sys_sethostname,"sethostname" }, /* 88 */
131 - { 0, 0, sys_getdtablesize,"getdtablesize" }, /* 89 */
132 + { 1, 0, sys_setuid32, "setuid32" }, /* 87 */
133 + { 1, 0, sys_setgid32, "setgid32" }, /* 89 */
134 { 2, 0, sys_dup2, "dup2" }, /* 90 */
135 - { 2, 0, printargs, "getdopt" }, /* 91 */
136 + { 1, 0, sys_setfsuid32, "setfsuid32" }, /* 91 */
137 { 3, 0, sys_fcntl, "fcntl" }, /* 92 */
138 { 5, 0, sys_oldselect, "select" }, /* 93 */
139 - { 2, 0, printargs, "setdopt" }, /* 94 */
140 + { 1, 0, sys_setfsgid32, "setfsgid32" }, /* 94 */
141 { 1, 0, sys_fsync, "fsync" }, /* 95 */
142 { 3, 0, sys_setpriority,"setpriority" }, /* 96 */
143 { 3, TN, sys_socket, "socket" }, /* 97 */
144 @@ -106,14 +105,14 @@
145 { 4, TS, sys_rt_sigtimedwait,"rt_sigtimedwait" },/* 105 */
146 { 3, TS, sys_rt_sigqueueinfo,"rt_sigqueueinfo" },/* 106 */
147 { 2, TS, sys_rt_sigsuspend,"rt_sigsuspend" }, /* 107 */
148 - { 3, TS, printargs, "sigvec" }, /* 108 */
149 - { 1, TS, sys_sigblock, "sigblock" }, /* 109 */
150 - { 1, TS, sys_sigsetmask, "sigsetmask" }, /* 110 */
151 - { 1, TS, printargs, "sigpause" }, /* 111 */
152 + { 3, 0, sys_setresuid32,"setresuid32" }, /* 108 */
153 + { 3, 0, sys_getresuid32,"getresuid32" }, /* 109 */
154 + { 3, 0, sys_setresgid32,"setresgid32" }, /* 110 */
155 + { 3, 0, sys_getresgid32,"getresgid32" }, /* 111 */
156 { 2, TS, printargs, "sigstack" }, /* 112 */
157 { 3, TN, sys_recvmsg, "recvmsg" }, /* 113 */
158 { 3, TN, sys_sendmsg, "sendmsg" }, /* 114 */
159 - { 3, 0, printargs, "vtrace" }, /* 115 */
160 + { 3, 0, sys_getgroups32,"getgroups32" }, /* 115 */
161 { 2, 0, sys_gettimeofday,"gettimeofday" }, /* 116 */
162 { 2, 0, sys_getrusage, "getrusage" }, /* 117 */
163 { 5, TN, sys_getsockopt, "getsockopt" }, /* 118 */
164 diff -Nur strace-4.4.orig/linux/syscall.h strace-4.4/linux/syscall.h
165 --- strace-4.4.orig/linux/syscall.h Sun Apr 8 21:14:05 2001
166 +++ strace-4.4/linux/syscall.h Fri Oct 19 15:28:02 2001
168 int sys_sendfile(), sys_old_mmap(), sys_stat64(), sys_lstat64(), sys_fstat64();
169 int sys_truncate64(), sys_ftruncate64(), sys_pivotroot();
172 +int sys_getuid32(), sys_getgid32(), sys_geteuid32(), sys_getegid32();
173 +int sys_setreuid32(), sys_setregid32(), sys_getgroups32(), sys_setgroups32();
174 +int sys_setresuid32(), sys_getresuid32(), sys_setresgid32();
175 +int sys_getresgid32(), sys_setuid32(), sys_setgid32();
176 +int sys_setfsuid32(), sys_setfsgid32();
178 /* sys_socketcall subcalls */
180 diff -Nur strace-4.4.orig/process.c strace-4.4/process.c
181 --- strace-4.4.orig/process.c Fri Oct 19 15:27:34 2001
182 +++ strace-4.4/process.c Fri Oct 19 15:28:02 2001
191 + if (entering(tcp)) {
192 + tprintf("%u", (__kernel_uid32_t) tcp->u_arg[0]);
201 + if (entering(tcp)) {
202 + tprintf("%u", (__kernel_gid32_t) tcp->u_arg[0]);
208 +sys_getresuid32(tcp)
211 + if (exiting(tcp)) {
212 + __kernel_uid32_t uid;
214 + tprintf("%#lx, %#lx, %#lx", tcp->u_arg[0],
215 + tcp->u_arg[1], tcp->u_arg[2]);
217 + if (umove(tcp, tcp->u_arg[0], &uid) < 0)
218 + tprintf("%#lx, ", tcp->u_arg[0]);
220 + tprintf("ruid %lu, ", (unsigned long) uid);
221 + if (umove(tcp, tcp->u_arg[0], &uid) < 0)
222 + tprintf("%#lx, ", tcp->u_arg[0]);
224 + tprintf("euid %lu, ", (unsigned long) uid);
225 + if (umove(tcp, tcp->u_arg[0], &uid) < 0)
226 + tprintf("%#lx", tcp->u_arg[0]);
228 + tprintf("suid %lu", (unsigned long) uid);
235 +sys_getresgid32(tcp)
238 + if (exiting(tcp)) {
239 + __kernel_gid32_t gid;
241 + tprintf("%#lx, %#lx, %#lx", tcp->u_arg[0],
242 + tcp->u_arg[1], tcp->u_arg[2]);
244 + if (umove(tcp, tcp->u_arg[0], &gid) < 0)
245 + tprintf("%#lx, ", tcp->u_arg[0]);
247 + tprintf("rgid %lu, ", (unsigned long) gid);
248 + if (umove(tcp, tcp->u_arg[0], &gid) < 0)
249 + tprintf("%#lx, ", tcp->u_arg[0]);
251 + tprintf("egid %lu, ", (unsigned long) gid);
252 + if (umove(tcp, tcp->u_arg[0], &gid) < 0)
253 + tprintf("%#lx", tcp->u_arg[0]);
255 + tprintf("sgid %lu", (unsigned long) gid);
266 #if defined(LINUX) || defined(FREEBSD)
271 + if (entering(tcp)) {
272 + tprintf("%lu, %lu",
273 + (unsigned long) (__kernel_uid32_t) tcp->u_arg[0],
274 + (unsigned long) (__kernel_uid32_t) tcp->u_arg[1]);
283 + if (entering(tcp)) {
284 + tprintf("%lu, %lu",
285 + (unsigned long) (__kernel_gid32_t) tcp->u_arg[0],
286 + (unsigned long) (__kernel_gid32_t) tcp->u_arg[1]);
295 @@ -929,9 +1027,35 @@
298 tprintf("rgid %u, egid %u, sgid %u",
299 - (uid_t) tcp->u_arg[0],
300 - (uid_t) tcp->u_arg[1],
301 - (uid_t) tcp->u_arg[2]);
302 + (gid_t) tcp->u_arg[0],
303 + (gid_t) tcp->u_arg[1],
304 + (gid_t) tcp->u_arg[2]);
310 +sys_setresuid32(tcp)
313 + if (entering(tcp)) {
314 + tprintf("ruid %u, euid %u, suid %u",
315 + (__kernel_uid32_t) tcp->u_arg[0],
316 + (__kernel_uid32_t) tcp->u_arg[1],
317 + (__kernel_uid32_t) tcp->u_arg[2]);
323 +sys_setresgid32(tcp)
326 + if (entering(tcp)) {
327 + tprintf("rgid %u, egid %u, sgid %u",
328 + (__kernel_gid32_t) tcp->u_arg[0],
329 + (__kernel_gid32_t) tcp->u_arg[1],
330 + (__kernel_gid32_t) tcp->u_arg[2]);
334 @@ -1014,6 +1138,84 @@
340 +sys_setgroups32(tcp)
344 + __kernel_gid32_t *gidset;
346 + if (entering(tcp)) {
347 + len = tcp->u_arg[0];
348 + tprintf("%u, ", len);
353 + gidset = (__kernel_gid32_t *) malloc(len * sizeof(GETGROUPS_T));
354 + if (gidset == NULL) {
355 + fprintf(stderr, "sys_setgroups: out of memory\n");
359 + tprintf("%#lx", tcp->u_arg[1]);
360 + else if (umoven(tcp, tcp->u_arg[1],
361 + len * sizeof(__kernel_gid32_t), (char *) gidset) < 0)
365 + for (i = 0; i < len; i++)
366 + tprintf("%s%lu", i ? ", " : "",
367 + (unsigned long) gidset[i]);
370 + free((char *) gidset);
376 +sys_getgroups32(tcp)
380 + __kernel_gid32_t *gidset;
382 + if (entering(tcp)) {
383 + len = tcp->u_arg[0];
384 + tprintf("%u, ", len);
391 + gidset = (__kernel_gid32_t *) malloc(len * sizeof(GETGROUPS_T));
392 + if (gidset == NULL) {
393 + fprintf(stderr, "sys_getgroups: out of memory\n");
396 + if (!tcp->u_arg[1])
398 + else if (!verbose(tcp) || tcp->u_arg[0] == 0)
399 + tprintf("%#lx", tcp->u_arg[1]);
400 + else if (umoven(tcp, tcp->u_arg[1],
401 + len * sizeof(GETGROUPS_T), (char *) gidset) < 0)
405 + for (i = 0; i < len; i++)
406 + tprintf("%s%lu", i ? ", " : "",
407 + (unsigned long) gidset[i]);
410 + free((char *)gidset);
419 --- strace-4.4.91/linux/syscallent.h.orig Tue Jan 14 20:02:35 2003
420 +++ strace-4.4.91/linux/syscallent.h Tue Jan 14 21:03:13 2003
421 @@ -246,23 +246,23 @@
422 { 3, TF, sys_chown, "lchown32" }, /* 198 */
423 { 0, 0, sys_getuid, "getuid32" }, /* 199 */
425 - { 0, 0, printargs, "getgid32" }, /* 200 */
426 - { 0, 0, printargs, "geteuid32" }, /* 201 */
427 - { 0, 0, printargs, "getegid32" }, /* 202 */
428 - { 2, 0, printargs, "setreuid32" }, /* 203 */
429 - { 2, 0, printargs, "setregid32" }, /* 204 */
430 - { 2, 0, printargs, "getgroups32" }, /* 205 */
431 - { 2, 0, printargs, "setgroups32" }, /* 206 */
432 - { 3, 0, printargs, "fchown32" }, /* 207 */
433 - { 3, 0, printargs, "setresuid32" }, /* 208 */
434 - { 3, 0, printargs, "getresuid32" }, /* 209 */
435 - { 3, 0, printargs, "setresgid32" }, /* 210 */
436 - { 3, 0, printargs, "getresgid32" }, /* 211 */
437 - { 3, TF, printargs, "chown32" }, /* 212 */
438 - { 1, 0, printargs, "setuid32" }, /* 213 */
439 - { 1, 0, printargs, "setgid32" }, /* 214 */
440 - { 1, 0, printargs, "setfsuid32" }, /* 215 */
441 - { 1, 0, printargs, "setfsgid32" }, /* 216 */
442 + { 0, 0, sys_getgid32, "getgid32" }, /* 200 */
443 + { 0, 0, sys_geteuid32, "geteuid32" }, /* 201 */
444 + { 0, 0, sys_getegid32, "getegid32" }, /* 202 */
445 + { 2, 0, sys_setreuid32, "setreuid32" }, /* 203 */
446 + { 2, 0, sys_setregid32, "setregid32" }, /* 204 */
447 + { 2, 0, sys_getgroups32, "getgroups32" }, /* 205 */
448 + { 2, 0, sys_setgroups32, "setgroups32" }, /* 206 */
449 + { 3, 0, sys_fchown, "fchown32" }, /* 207 */
450 + { 3, 0, sys_setresuid32, "setresuid32" }, /* 208 */
451 + { 3, 0, sys_getresuid32, "getresuid32" }, /* 209 */
452 + { 3, 0, sys_setresgid32, "setresgid32" }, /* 210 */
453 + { 3, 0, sys_getresgid32, "getresgid32" }, /* 211 */
454 + { 3, TF, sys_chown, "chown32" }, /* 212 */
455 + { 1, 0, sys_setuid32, "setuid32" }, /* 213 */
456 + { 1, 0, sys_setgid32, "setgid32" }, /* 214 */
457 + { 1, 0, sys_setfsuid32, "setfsuid32" }, /* 215 */
458 + { 1, 0, sys_setfsgid32, "setfsgid32" }, /* 216 */
459 { 2, TF, sys_pivotroot, "pivot_root" }, /* 217 */
460 { 3, 0, printargs, "mincore" }, /* 218 */
461 { 3, 0, sys_madvise, "madvise" }, /* 219 */