19 void create_shm(void);
20 void create_shm_arrays(void);
23 struct syscallrecord
{
24 unsigned int nr
; /* protected by syscall_lock */
32 bool do32bit
; /* protected by syscall_lock */
36 unsigned long total_syscalls_done
;
37 unsigned long successes
;
38 unsigned long failures
;
40 unsigned long previous_op_count
; /* combined total of all children */
41 unsigned long *child_op_count
; /* these are per-child so we can see if
42 a child is making progress or not. */
43 unsigned long regenerate
;
48 /* Indices of syscall in syscall table that are active.
49 * All indices shifted by +1. Empty index equals to 0.
51 * 'active_syscalls' is only used on uniarch. The other two
52 * are only used on biarch. FIXME: Make this compile-time somehow? */
53 int active_syscalls32
[MAX_NR_SYSCALL
];
54 int active_syscalls64
[MAX_NR_SYSCALL
];
55 int active_syscalls
[MAX_NR_SYSCALL
];
56 unsigned int nr_active_syscalls
;
57 unsigned int nr_active_32bit_syscalls
;
58 unsigned int nr_active_64bit_syscalls
;
65 unsigned char *kill_count
;
67 unsigned int running_childs
;
69 struct timeval taint_tv
;
73 int pipe_fds
[MAX_PIPE_FDS
*2];
74 int file_fds
[NR_FILE_FDS
]; /* All children inherit these */
75 int perf_fds
[MAX_PERF_FDS
];
76 int epoll_fds
[MAX_EPOLL_FDS
];
77 int eventfd_fds
[MAX_EPOLL_FDS
];
79 struct socketinfo sockets
[NR_SOCKET_FDS
];
81 struct syscallrecord
*syscall
; /* FIXME: protect all accesses with syscall_lock */
82 struct syscallrecord
*previous
;
84 unsigned long *scratch
;
87 unsigned int fd_lifetime
;
90 struct map
**mappings
;
91 unsigned int *num_mappings
;
94 bool dont_make_it_fail
;
95 enum exit_reasons exit_reason
;
98 volatile unsigned char regenerating
;
104 extern struct shm_s
*shm
;
107 #define SHM_CORRUPT 1