[PATCH] complete message queue auditing
[linux-2.6.git] / ipc / mqueue.c
index d17821d..fab5707 100644 (file)
@@ -681,6 +681,7 @@ asmlinkage long sys_mq_open(const char __user *u_name, int oflag, mode_t mode,
 
        if (oflag & O_CREAT) {
                if (dentry->d_inode) {  /* entry already exists */
+                       audit_inode(name, dentry->d_inode);
                        error = -EEXIST;
                        if (oflag & O_EXCL)
                                goto out;
@@ -693,6 +694,7 @@ asmlinkage long sys_mq_open(const char __user *u_name, int oflag, mode_t mode,
                error = -ENOENT;
                if (!dentry->d_inode)
                        goto out;
+               audit_inode(name, dentry->d_inode);
                filp = do_open(dentry, oflag);
        }
 
@@ -840,6 +842,7 @@ asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr,
        if (unlikely(filp->f_op != &mqueue_file_operations))
                goto out_fput;
        info = MQUEUE_I(inode);
+       audit_inode(NULL, inode);
 
        if (unlikely(!(filp->f_mode & FMODE_WRITE)))
                goto out_fput;
@@ -923,6 +926,7 @@ asmlinkage ssize_t sys_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
        if (unlikely(filp->f_op != &mqueue_file_operations))
                goto out_fput;
        info = MQUEUE_I(inode);
+       audit_inode(NULL, inode);
 
        if (unlikely(!(filp->f_mode & FMODE_READ)))
                goto out_fput;