aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipc/msg.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/ipc/msg.c b/ipc/msg.c
index 8203e71bcfbc..b0d541d42677 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -70,8 +70,6 @@ struct msg_sender {
70 70
71#define msg_ids(ns) ((ns)->ids[IPC_MSG_IDS]) 71#define msg_ids(ns) ((ns)->ids[IPC_MSG_IDS])
72 72
73#define msg_unlock(msq) ipc_unlock(&(msq)->q_perm)
74
75static void freeque(struct ipc_namespace *, struct kern_ipc_perm *); 73static void freeque(struct ipc_namespace *, struct kern_ipc_perm *);
76static int newque(struct ipc_namespace *, struct ipc_params *); 74static int newque(struct ipc_namespace *, struct ipc_params *);
77#ifdef CONFIG_PROC_FS 75#ifdef CONFIG_PROC_FS
@@ -270,7 +268,8 @@ static void freeque(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp)
270 expunge_all(msq, -EIDRM); 268 expunge_all(msq, -EIDRM);
271 ss_wakeup(&msq->q_senders, 1); 269 ss_wakeup(&msq->q_senders, 1);
272 msg_rmid(ns, msq); 270 msg_rmid(ns, msq);
273 msg_unlock(msq); 271 ipc_unlock_object(&msq->q_perm);
272 rcu_read_unlock();
274 273
275 list_for_each_entry_safe(msg, t, &msq->q_messages, m_list) { 274 list_for_each_entry_safe(msg, t, &msq->q_messages, m_list) {
276 atomic_dec(&ns->msg_hdrs); 275 atomic_dec(&ns->msg_hdrs);