Limited/Broken functionality of ASLR for Libs >= 2MB

Kees Cook keescook at chromium.org
Wed Jan 24 08:08:28 PST 2024


On Tue, Jan 23, 2024 at 05:04:22PM -0800, Yang Shi wrote:
> On Tue, Jan 23, 2024 at 2:37 PM Kees Cook <keescook at chromium.org> wrote:
> >
> > On Tue, Jan 16, 2024 at 09:09:45AM +0100, Ard Biesheuvel wrote:
> > > (cc Kees, LAKML)
> > >
> > > https://lkml.kernel.org/r/69fa6015256613ed10aee996e181ebd4%40horotw.com
> > >
> > > On Mon, 15 Jan 2024 at 21:46, Matthew Wilcox <willy at infradead.org> wrote:
> > > >
> > > ...
> > > > Yeah, I don't know either.  Outside my scope of expertise.
> > > >
> > > > I received a suggestion off-list that we only do the PMD alignment on
> > > > 64-bit, which seems quite reasonable to me.  After all, I don't care
> > > > about performance on 32-bit just as much as I don't care about security
> > > > on 32-bit.
> > > >
> > >
> > > For context, the culprit is
> > >
> > > commit 1854bc6e2420472676c5c90d3d6b15f6cd640e40
> > > Author: William Kucharski <william.kucharski at oracle.com>
> > > Date:   Sun Sep 22 08:43:15 2019 -0400
> > >
> > >     mm/readahead: Align file mappings for non-DAX
> > >
> > >     When we have the opportunity to use PMDs to map a file, we want to follow
> > >     the same rules as DAX.
> > >
> > >     Signed-off-by: William Kucharski <william.kucharski at oracle.com>
> > >     Signed-off-by: Matthew Wilcox (Oracle) <willy at infradead.org>
> > >
> > > which affects *all* 32-bit architectures not just i686. 32-bit ARM
> > > user space is still being deployed widely, even on arm64 Chromebooks
> > > running 64-bit kernels (at least up until recently) so unfortunately,
> > > we're not quite at the point yet where we can just let it rot.
> >
> > Is this related at all to this thread as well?
> > https://lore.kernel.org/lkml/20220809142457.4751229f@imladris.surriel.com/
> 
> Yes
> 
> >
> > Can we avoid this on 32-bit or at least not mislead userspace about the
> > available entropy visible in /proc/sys/vm/mmap_rnd*_bits ?
> 
> https://lore.kernel.org/linux-mm/20240118133504.2910955-1-shy828301@gmail.com/
> 
> This patch basically made thp_get_unmapped_area no-op on 32 bit.

Ah-ha! Okay, thanks very much. I missed this landing. :)

-- 
Kees Cook



More information about the linux-arm-kernel mailing list