| /* Scalar test for commands A_GETSTAT and A_SETSTAT for auditon(2) subcode |
| of the auditsys() syscall. Available on Solaris 11 and illumos, |
| removed in Solaris 12. */ |
| |
| #include "scalar.h" |
| |
| #include <bsm/audit.h> |
| |
| __attribute__((noinline)) |
| static void sys_auditsys(void) |
| { |
| GO(SYS_auditsys, "(BSM_AUDITCTL,A_GETSTAT) 3s 1m"); |
| SY(SYS_auditsys, x0 + BSM_AUDITCTL, x0 + A_GETSTAT, x0); FAIL; |
| } |
| |
| __attribute__((noinline)) |
| static void sys_auditsys2(void) |
| { |
| GO(SYS_auditsys, "(BSM_AUDITCTL,A_SETSTAT) 3s 1m"); |
| SY(SYS_auditsys, x0 + BSM_AUDITCTL, x0 + A_SETSTAT, x0); FAIL; |
| } |
| |
| int main(void) |
| { |
| /* Uninitialised, but we know px[0] is 0x0. */ |
| long *px = malloc(sizeof(long)); |
| x0 = px[0]; |
| |
| /* SYS_auditsys 186 */ |
| sys_auditsys(); |
| sys_auditsys2(); |
| |
| return 0; |
| } |
| |