diff --git a/kernel/futex.c b/kernel/futex.c index c5fca746edc46a83f4e170d2c30cf61a0ac5c072..5a26d843a01521c779627a0f09e53b6cae095a46 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -3432,6 +3432,10 @@ int handle_futex_death(u32 __user *uaddr, struct task_struct *curr, int pi) { u32 uval, uninitialized_var(nval), mval; + /* Futex address must be 32bit aligned */ + if ((((unsigned long)uaddr) % sizeof(*uaddr)) != 0) + return -1; + retry: if (get_user(uval, uaddr)) return -1;