mailing list archives
Re: Linux kernel futex local privilege escalation (CVE-2014-3153)
From: Phil Turnbull <phil.turnbull () oracle com>
Date: Thu, 05 Jun 2014 19:25:24 -0400
On 05/06/14 10:45, Solar Designer wrote:
I've attached patches by Thomas Gleixner (four e-mails, in mbox format),
as well as back-ports of those by John Johansen of Canonical, who wrote:
For anyone who is interested I've attached back ports of the patches to
3.13 - minor conflicts in patch 4. It has applied cleanly back to 3.2
2.6.32 - conflict is in patches 3, and 4
We are currently preparing Ksplice updates for our supported kernels and spotted
something odd in the 2.6.32 backport.
there is this change (ignoring whitespace changes):
curval = cmpxchg_futex_value_locked(uaddr, uval, newval);
- if (curval == -EFAULT)
+ if (curval)
ret = -EFAULT;
which seems to change the behaviour of the function.
The purpose of the return value of cmpxchg_futex_value_locked changed in
37a9d912b24f96a0591 "futex: Sanitize cmpxchg_futex_value_locked API"
which is not included in 2.6.32. This patch changes the return value to a
status code, but in 2.6.32 the return value is the value of the futex or
-EFAULT. With this backported patch, any futex with a non-zero value will
Can you please clarify whether this change was intentional or is an error
introduced in the backport?