aboutsummaryrefslogtreecommitdiffstats
path: root/ipc/msg.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-10-12 09:51:18 +0200
committerIngo Molnar <mingo@kernel.org>2015-10-12 09:51:18 +0200
commitb9f27c0f4f7db9e5a4ba59228442a75d3177470c (patch)
tree49ab61b7e06a5a592f3541e84d1b5908a1d8030f /ipc/msg.c
parent9fc4468d546b6eb55b0aa5b04b0c36238ebf57e7 (diff)
parent25cb62b76430a91cc6195f902e61c2cb84ade622 (diff)
downloadkernel_replicant_linux-b9f27c0f4f7db9e5a4ba59228442a75d3177470c.tar.gz
kernel_replicant_linux-b9f27c0f4f7db9e5a4ba59228442a75d3177470c.tar.bz2
kernel_replicant_linux-b9f27c0f4f7db9e5a4ba59228442a75d3177470c.zip
Merge tag 'v4.3-rc5' into timers/core, to pick up fixes before applying new changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'ipc/msg.c')
-rw-r--r--ipc/msg.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/ipc/msg.c b/ipc/msg.c
index 66c4f567eb73..1471db9a7e61 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -137,13 +137,6 @@ static int newque(struct ipc_namespace *ns, struct ipc_params *params)
return retval;
}
- /* ipc_addid() locks msq upon success. */
- id = ipc_addid(&msg_ids(ns), &msq->q_perm, ns->msg_ctlmni);
- if (id < 0) {
- ipc_rcu_putref(msq, msg_rcu_free);
- return id;
- }
-
msq->q_stime = msq->q_rtime = 0;
msq->q_ctime = get_seconds();
msq->q_cbytes = msq->q_qnum = 0;
@@ -153,6 +146,13 @@ static int newque(struct ipc_namespace *ns, struct ipc_params *params)
INIT_LIST_HEAD(&msq->q_receivers);
INIT_LIST_HEAD(&msq->q_senders);
+ /* ipc_addid() locks msq upon success. */
+ id = ipc_addid(&msg_ids(ns), &msq->q_perm, ns->msg_ctlmni);
+ if (id < 0) {
+ ipc_rcu_putref(msq, msg_rcu_free);
+ return id;
+ }
+
ipc_unlock_object(&msq->q_perm);
rcu_read_unlock();