mqueue doesn't need make_bad_inode()
[safe/jmp/linux-2.6] / ipc / mqueue.c
index a9d8b0c..c93fd3f 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/nsproxy.h>
 #include <linux/pid.h>
 #include <linux/ipc_namespace.h>
+#include <linux/slab.h>
 
 #include <net/sock.h>
 #include "util.h"
@@ -157,7 +158,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
                            u->mq_bytes + mq_bytes >
                            task_rlimit(p, RLIMIT_MSGQUEUE)) {
                                spin_unlock(&mq_lock);
-                               kfree(info->messages);
+                               /* mqueue_delete_inode() releases info->messages */
                                goto out_inode;
                        }
                        u->mq_bytes += mq_bytes;
@@ -175,7 +176,6 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
        }
        return inode;
 out_inode:
-       make_bad_inode(inode);
        iput(inode);
        return NULL;
 }