* [PATCH 1/1] cr: don't unlock ipc before freeing
@ 2009-05-29 21:21 Serge E. Hallyn
[not found] ` <20090529212132.GA12973-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Serge E. Hallyn @ 2009-05-29 21:21 UTC (permalink / raw)
To: Oren Laadan; +Cc: Linux Containers
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-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-05-29 21:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-29 21:21 [PATCH 1/1] cr: don't unlock ipc before freeing Serge E. Hallyn
[not found] ` <20090529212132.GA12973-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-05-29 21:37 ` Oren Laadan
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.