diff options
-rw-r--r-- | ipc/msg.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -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 | |||
75 | static void freeque(struct ipc_namespace *, struct kern_ipc_perm *); | 73 | static void freeque(struct ipc_namespace *, struct kern_ipc_perm *); |
76 | static int newque(struct ipc_namespace *, struct ipc_params *); | 74 | static 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); |