• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "defs.h"
2 
SYS_FUNC(get_robust_list)3 SYS_FUNC(get_robust_list)
4 {
5 	if (entering(tcp)) {
6 		tprintf("%ld, ", (long) (pid_t) tcp->u_arg[0]);
7 	} else {
8 		void *addr;
9 		size_t len;
10 
11 		if (syserror(tcp) ||
12 		    !tcp->u_arg[1] ||
13 		    umove(tcp, tcp->u_arg[1], &addr) < 0) {
14 			tprintf("%#lx, ", tcp->u_arg[1]);
15 		} else {
16 			tprintf("[%p], ", addr);
17 		}
18 
19 		if (syserror(tcp) ||
20 		    !tcp->u_arg[2] ||
21 		    umove(tcp, tcp->u_arg[2], &len) < 0) {
22 			tprintf("%#lx", tcp->u_arg[2]);
23 		} else {
24 			tprintf("[%lu]", (unsigned long) len);
25 		}
26 	}
27 	return 0;
28 }
29