Re: [PATCH] fs/proc/kcore.c: Omit kernel text area for hardened usercopy feature

From: Andi Kleen
Date: Fri Sep 02 2016 - 11:17:20 EST


On Fri, Sep 02, 2016 at 02:25:45PM +0200, Jiri Olsa wrote:
> One of the bullets for hardened usercopy feature is:
> - object must not overlap with kernel text
>
> which is what we expose via /proc/kcore. We can hit
> this check and crash the system very easily just by
> reading the text area in kcore file:
>
> usercopy: kernel memory exposure attempt detected from ffffffff8179a01f (<kernel text>) (4065 bytes)
> kernel BUG at mm/usercopy.c:75!
>
> Omitting kernel text area from kcore when there's
> hardened usercopy feature is enabled.

That will completely break PT decoding, which relies on looking
at the kernel text in /proc/kcore.

Need a different fix here, perhaps some special copy function
that is not hardened.

-Andi