shm: fix wrong tests
authorVasiliy Kulikov <segoon@openwall.com>
Wed, 3 Aug 2011 18:26:55 +0000 (22:26 +0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 4 Aug 2011 00:45:55 +0000 (14:45 -1000)
Commit 4c677e2eefdb ("shm: optimize locking and ipc_namespace getting")
introduced a copy-paste bug.  Due to the bug cycle optimizations were
disabled.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
ipc/shm.c

index 9fb044f3b345e5e61ea072e255ab3b67b5ce3539..7efff043ffbf48a964f5dc5e7284c6dc9d9c507c 100644 (file)
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -294,7 +294,7 @@ static int shm_try_destroy_orphaned(int id, void *p, void *data)
 void shm_destroy_orphaned(struct ipc_namespace *ns)
 {
        down_write(&shm_ids(ns).rw_mutex);
-       if (&shm_ids(ns).in_use)
+       if (shm_ids(ns).in_use)
                idr_for_each(&shm_ids(ns).ipcs_idr, &shm_try_destroy_orphaned, ns);
        up_write(&shm_ids(ns).rw_mutex);
 }
@@ -306,7 +306,7 @@ void exit_shm(struct task_struct *task)
 
        /* Destroy all already created segments, but not mapped yet */
        down_write(&shm_ids(ns).rw_mutex);
-       if (&shm_ids(ns).in_use)
+       if (shm_ids(ns).in_use)
                idr_for_each(&shm_ids(ns).ipcs_idr, &shm_try_destroy_current, ns);
        up_write(&shm_ids(ns).rw_mutex);
 }