posix-timers: Fix stack info leak in timer_create()
[platform/adaptation/renesas_rcar/renesas_kernel.git] / kernel / futex.c
index e3087af..fda2950 100644 (file)
@@ -329,6 +329,8 @@ static void get_futex_key_refs(union futex_key *key)
        case FUT_OFF_MMSHARED:
                futex_get_mm(key); /* implies MB (B) */
                break;
+       default:
+               smp_mb(); /* explicit MB (B) */
        }
 }
 
@@ -2614,6 +2616,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags,
         * shared futexes. We need to compare the keys:
         */
        if (match_futex(&q.key, &key2)) {
+               queue_unlock(hb);
                ret = -EINVAL;
                goto out_put_keys;
        }