[Devel] [PATCH 1/1] cr: don't unlock ipc before freeing
Serge E. Hallyn
serue at us.ibm.com
Fri May 29 14:21:32 PDT 2009
Sorry, this should have been a part of the analogous sem fix.
[re commit 615744ad97 ... c/r: support share-memory sysv-ipc]
Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>
---
ipc/checkpoint_msg.c | 4 ++--
ipc/checkpoint_shm.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/ipc/checkpoint_msg.c b/ipc/checkpoint_msg.c
index a988a9e..fb1a61e 100644
--- a/ipc/checkpoint_msg.c
+++ b/ipc/checkpoint_msg.c
@@ -348,12 +348,12 @@ int restore_ipc_msg(struct ckpt_ctx *ctx)
msq->q_qnum = h->q_qnum;
ret = load_ipc_msg_hdr(ctx, h, msq);
- ipc_unlock(perms);
if (ret < 0) {
ckpt_debug("msq: need to remove (%d)\n", ret);
freeque(current->nsproxy->ipc_ns, perms);
- }
+ } else
+ ipc_unlock(perms);
up_write(&msg_ids->rw_mutex);
out:
free_msg_list(&messages); /* no-op if all ok, else cleanup msgs */
diff --git a/ipc/checkpoint_shm.c b/ipc/checkpoint_shm.c
index 713f910..0d8eb14 100644
--- a/ipc/checkpoint_shm.c
+++ b/ipc/checkpoint_shm.c
@@ -239,7 +239,6 @@ int restore_ipc_shm(struct ckpt_ctx *ctx)
get_file(file);
ret = load_ipc_shm_hdr(ctx, h, shp);
- ipc_unlock(perms);
if (ret < 0)
goto mutex;
@@ -253,7 +252,8 @@ int restore_ipc_shm(struct ckpt_ctx *ctx)
if (ret < 0) {
ckpt_debug("shm: need to remove (%d)\n", ret);
do_shm_rmid(current->nsproxy->ipc_ns, perms);
- }
+ } else
+ ipc_unlock(perms);
up_write(&shm_ids->rw_mutex);
out:
ckpt_hdr_put(ctx, h);
--
1.6.1
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list