lkml.org 
[lkml]   [2018]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 4.4 099/190] arm64: futex: Fix undefined behaviour with FUTEX_OP_OPARG_SHIFT usage
From
Date
On Wed, 2018-04-11 at 20:35 +0200, Greg Kroah-Hartman wrote:
> 4.4-stable review patch.  If anyone has any objections, please let me know.
>
> ------------------
>
> > From: Will Deacon <will.deacon@arm.com>
>
>
> [ Upstream commit 5f16a046f8e144c294ef98cd29d9458b5f8273e5 ]
>
> FUTEX_OP_OPARG_SHIFT instructs the futex code to treat the 12-bit oparg
> field as a shift value, potentially leading to a left shift value that
> is negative or with an absolute value that is significantly larger then
> the size of the type. UBSAN chokes with:
[...]
> Whilst I think this catches all of the issues, I'd much prefer to remove
> this stuff, as I think it's unused and the bugs are copy-pasted between
> a bunch of architectures.
[...]

Indeed. That more complete fix was done upstream by:

commit 30d6e0a4190d37740e9447e4e4815f06992dd8c3
Author: Jiri Slaby <jslaby@suse.cz>
Date:   Thu Aug 24 09:31:05 2017 +0200

    futex: Remove duplicated code and fix undefined behaviour

It's a bit big for stable - though most of the changes are deletions.
What do you think?

Ben.

--
Ben Hutchings
Software Developer, Codethink Ltd.

\
 
 \ /
  Last update: 2018-05-16 01:15    [W:0.631 / U:1.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site