summaryrefslogtreecommitdiff
path: root/ipc/msg.c
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@shinybook.infradead.org>2005-03-01 09:15:37 +0000
committerDavid Woodhouse <dwmw2@shinybook.infradead.org>2005-03-01 09:15:37 +0000
commite20ffd76fc5bdccf79223667a615dd4c820947ab (patch)
treec5539e7a6c4f1efd72734561a3ce204efcf71b9a /ipc/msg.c
parent54077d3c29a1afba9fe5a0c91f4a24d34083e764 (diff)
Audit IPC object owner/permission changes.
Add linked list of auxiliary data to audit_context Add callbacks in IPC_SET functions to record requested changes. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'ipc/msg.c')
-rw-r--r--ipc/msg.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ipc/msg.c b/ipc/msg.c
index 7d7470c8d2c2..27e516f96cdc 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -25,6 +25,7 @@
#include <linux/security.h>
#include <linux/sched.h>
#include <linux/syscalls.h>
+#include <linux/audit.h>
#include <asm/current.h>
#include <asm/uaccess.h>
#include "util.h"
@@ -425,6 +426,8 @@ asmlinkage long sys_msgctl (int msqid, int cmd, struct msqid_ds __user *buf)
return -EFAULT;
if (copy_msqid_from_user (&setbuf, buf, version))
return -EFAULT;
+ if ((err = audit_ipc_perms(setbuf.qbytes, setbuf.uid, setbuf.gid, setbuf.mode)))
+ return err;
break;
case IPC_RMID:
break;