Thread (22 messages) 22 messages, 6 authors, 2016-08-12

Re: [PATCH 2/2] arm: apply more __ro_after_init

From: Kees Cook <hidden>
Date: 2016-08-11 22:17:02
Also in: linux-arm-kernel, lkml

On Thu, Aug 11, 2016 at 8:54 AM, Arnd Bergmann [off-list ref] wrote:
On Thursday, August 11, 2016 12:06:45 AM CEST Russell King - ARM Linux wrote:
quoted
On Wed, Aug 10, 2016 at 09:41:23PM +0200, Arnd Bergmann wrote:
quoted
It might be better to start by making the fixed mapping readonly,
as KASLR doesn't protect that one at all, and change the TLS
code accordingly.
I think that's impossible, because we gave userspace permission to
read 0xffff0ff0 directly without using __kuser_get_tls.  You're
talking about potentially breaking userspace.

If you disable kuser helpers, then the page becomes read-only and
invisible to userspace anyway.  So, everything is being done there
which can be done - if you have kuser helpers enabled, then you
lose some opportunities for these security improvements.
What I meant was writing to the page through the linear mapping
rather than the virtual mapping at 0xffff0000 so we can leave that
one read-only (I did not consider whether that might cause cache
aliasing problems when reading from the other address).

Your other point is more important though: if one really cares
about optimizing security here, they probably should disable
kuser helpers completely anyway.

Kees, is that something you have on your radar already?
It wasn't no. I will add it. :)

-Kees

-- 
Kees Cook
Nexus Security
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help