Re: [PATCH v2 01/20] NFS: Avoid cross-structure casting

From: Kees Cook
Date: Sun May 28 2017 - 12:55:49 EST


On Sun, May 28, 2017 at 12:53 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> On Fri, May 26, 2017 at 01:17:05PM -0700, Kees Cook wrote:
>> When the call to nfs_devname() fails, the error path attempts to retain
>> the error via the mnt variable, but this requires a cast across very
>> different types (char * to struct vfsmount *), which the upcoming
>> structure layout randomization plugin flags as being potentially
>> dangerous in the face of randomization. This is a false positive, but
>> what this code actually wants to do is retain the error value, so this
>> patch explicitly sets it, instead of using what seems to be an
>> unexpected cast.
>>
>> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
>> Acked-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
>
> Looks good:
>
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>
>
> And I think we should get this (and the other cast patches) in ASAP,
> independent of the fat of the randstruct plugin.

Should I send a pull request to Linus for these for v4.12?

-Kees

--
Kees Cook
Pixel Security