diff --git a/ipc/sem.c b/ipc/sem.c
index 8f5aa34f8d30d4495a84fdcfeef83f3f9ed9fa5c..1f8f01a542de2ba52c83b71b8d550ee0eeec81fb 100644
--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -1280,7 +1280,7 @@ static int semctl_down(struct ipc_namespace *ns, int semid,
 	err = security_sem_semctl(sma, cmd);
 	if (err) {
 		rcu_read_unlock();
-		goto out_unlock;
+		goto out_up;
 	}
 
 	switch(cmd){