]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/kern/sysv_msg.c
xnu-517.9.5.tar.gz
[apple/xnu.git] / bsd / kern / sysv_msg.c
index dc3ca0a816f997127eb68c8e6fd3e3e2805291bf..4226476d2d9e83d4556fc07cd768a3d1fd423421 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -46,6 +46,8 @@
 #include <sys/msg.h>
 #include <sys/sysent.h>
 
 #include <sys/msg.h>
 #include <sys/sysent.h>
 
+#include <bsm/audit_kernel.h>
+
 static void msginit __P((void *));
 SYSINIT(sysv_msg, SI_SUB_SYSV_MSG, SI_ORDER_FIRST, msginit, NULL)
 
 static void msginit __P((void *));
 SYSINIT(sysv_msg, SI_SUB_SYSV_MSG, SI_ORDER_FIRST, msginit, NULL)
 
@@ -206,6 +208,8 @@ msgctl(p, uap)
        printf("call to msgctl(%d, %d, 0x%x)\n", msqid, cmd, user_msqptr);
 #endif
 
        printf("call to msgctl(%d, %d, 0x%x)\n", msqid, cmd, user_msqptr);
 #endif
 
+       AUDIT_ARG(svipc_cmd, cmd);
+       AUDIT_ARG(svipc_id, msqid);
        msqid = IPCID_TO_IX(msqid);
 
        if (msqid < 0 || msqid >= msginfo.msgmni) {
        msqid = IPCID_TO_IX(msqid);
 
        if (msqid < 0 || msqid >= msginfo.msgmni) {
@@ -423,6 +427,7 @@ msgget(p, uap)
 found:
        /* Construct the unique msqid */
        p->p_retval[0] = IXSEQ_TO_IPCID(msqid, msqptr->msg_perm);
 found:
        /* Construct the unique msqid */
        p->p_retval[0] = IXSEQ_TO_IPCID(msqid, msqptr->msg_perm);
+       AUDIT_ARG(svipc_id, p->p_retval[0]);
        return(0);
 }
 
        return(0);
 }
 
@@ -455,6 +460,7 @@ msgsnd(p, uap)
            msgflg);
 #endif
 
            msgflg);
 #endif
 
+       AUDIT_ARG(svipc_id, msqid);
        msqid = IPCID_TO_IX(msqid);
 
        if (msqid < 0 || msqid >= msginfo.msgmni) {
        msqid = IPCID_TO_IX(msqid);
 
        if (msqid < 0 || msqid >= msginfo.msgmni) {
@@ -793,6 +799,7 @@ msgrcv(p, uap)
            msgsz, msgtyp, msgflg);
 #endif
 
            msgsz, msgtyp, msgflg);
 #endif
 
+       AUDIT_ARG(svipc_id, msqid);
        msqid = IPCID_TO_IX(msqid);
 
        if (msqid < 0 || msqid >= msginfo.msgmni) {
        msqid = IPCID_TO_IX(msqid);
 
        if (msqid < 0 || msqid >= msginfo.msgmni) {