Re: [GIT PULL] usercopy fixes for v4.8-rc6

From: Kees Cook
Date: Wed Sep 07 2016 - 12:38:22 EST


On Wed, Sep 7, 2016 at 9:33 AM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> Pulled, but:
>
> On Tue, Sep 6, 2016 at 12:37 PM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>>
>> Kees Cook (3):
>> usercopy: fold builtin_const check into inline function
>
> Hmm. So with this, check_object_size() seems sane, but it's only
> marked "inline".
>
> And we've had the issue that without the __always_inline, gcc will
> randomly not inline things. In fact, this very pull added that to the

Yeah, reading the thread from 2009 made my head spin. :(

> copy_xyz_user() functions exactly because of this issue.
>
> Now, it may be that check_object_size() is so simple that it really
> always *will* be inlined regardless, but it looks a bit dodgy.

True, yes. I will send another update with that added.

(And a heads-up: another part of the update will be the disabling
hardened usercopy's page-spanning checker too -- we've had another
false positive hit on that, so it's time to drop it.)

Thanks!

-Kees

--
Kees Cook
Nexus Security