cr: ipc: don't unlock before calling freeary in error path
PATCH 1/1 cr: ipc: don't unlock before calling freeary in error path
Else freeary will BUG out.
Signed-off-by Serge E. Hallyn <serue-r/[email protected]>
--- ipc/checkpoint_sem.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
ipc/checkpoint_sem.c +2 -3
@@ -206,12 +206,11 @@ int restore_ipc_sem(struct ckpt_ctx *ctx)memcpy (sem->sem_base, sma, sem->sem_nsems *sizeof (*sma)); ret =load_ipc_sem_hdr (ctx, h, sem); -ipc_unlock (perms); -if (ret <0 ) {ckpt_debug ("sem: need to remove (%d)\n" , ret);freeary (current->nsproxy->ipc_ns, perms); - } + }else +ipc_unlock (perms);up_write (&sem_ids->rw_mutex); out:kfree (sma);
Signature · 1 line
1.6.1
A message that is not in the archive (sent off-list or not yet received): 20090529202306.GA11982-r/[email protected]
Oren Laadan
AppliedApplied to ckpt-v16-dev.
As per Dave's note, it will be helpful if you mention which patches in the original patchset are affected by this one, e.g. I added:
[re commit 615744ad97 ... c/r: support share-memory sysv-ipc]
Will make it easier to create the next clean patchset.
Thanks :)
Oren.
Quoted 26 lines · Serge E. Hallyn
Else freeary will BUG out.
Signed-off-by Serge E. Hallyn <serue-r/[email protected]>--- ipc/checkpoint_sem.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)ipc/checkpoint_sem.c +2
-3@@ -206,12 +206,11 @@ int restore_ipc_sem(struct ckpt_ctx *ctx)memcpy (sem->sem_base, sma, sem->sem_nsems *sizeof (*sma)); ret =load_ipc_sem_hdr (ctx, h, sem); -ipc_unlock (perms); -if (ret <0 ) {ckpt_debug ("sem: need to remove (%d)\n" , ret);freeary (current->nsproxy->ipc_ns, perms); - } + }else +ipc_unlock (perms);up_write (&sem_ids->rw_mutex); out:kfree (sma);