1 /* Scalar test for commands A_GETSTAT and A_SETSTAT for auditon(2) subcode
2    of the auditsys() syscall. Available on Solaris 11 and illumos,
3    removed in Solaris 12. */
4 
5 #include "scalar.h"
6 
7 #include <bsm/audit.h>
8 
9 __attribute__((noinline))
10 static void sys_auditsys(void)
11 {
12    GO(SYS_auditsys, "(BSM_AUDITCTL,A_GETSTAT) 3s 1m");
13    SY(SYS_auditsys, x0 + BSM_AUDITCTL, x0 + A_GETSTAT, x0); FAIL;
14 }
15 
16 __attribute__((noinline))
17 static void sys_auditsys2(void)
18 {
19    GO(SYS_auditsys, "(BSM_AUDITCTL,A_SETSTAT) 3s 1m");
20    SY(SYS_auditsys, x0 + BSM_AUDITCTL, x0 + A_SETSTAT, x0); FAIL;
21 }
22 
23 int main(void)
24 {
25    /* Uninitialised, but we know px[0] is 0x0. */
26    long *px = malloc(sizeof(long));
27    x0 = px[0];
28 
29    /* SYS_auditsys              186 */
30    sys_auditsys();
31    sys_auditsys2();
32 
33    return 0;
34 }
35 
36