lkml.org 
[lkml]   [2018]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4.4 099/190] arm64: futex: Fix undefined behaviour with FUTEX_OP_OPARG_SHIFT usage
On Wed, May 16, 2018 at 12:15:36AM +0100, Ben Hutchings wrote:
> 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?

I think it makes a lot of sense, I've done the backport now, thanks.

greg k-h

\
 
 \ /
  Last update: 2018-05-17 11:26    [W:0.285 / U:0.824 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site