Re: [PATCH] mm: huge_memory: don't force huge page alignment on 32 bit

From: Ben Hutchings
Date: Thu Jul 11 2024 - 17:33:59 EST


On Thu, 2024-07-11 at 22:10 +0200, Yves-Alexis Perez wrote:
> On Thu, 2024-01-18 at 05:35 -0800, Yang Shi wrote:
> > The commit efa7df3e3bb5 ("mm: align larger anonymous mappings on THP
> > boundaries") caused two issues [1] [2] reported on 32 bit system or compat
> > userspace.
> >
> > It doesn't make too much sense to force huge page alignment on 32 bit
> > system due to the constrained virtual address space.
>
> Hi people,
>
> sorry for beeing so late. I've looked at this following the OpenSSH issue
> (CVE-2024-6387 [1]) and especially the impact on IA-32 installations where
> ASLR is apparently broken.
>
> There was a recent thread [2] on oss-security discussing the issue.
>
> Looking at the commit log I think the intention was to fix this both for:
> - 32 bit process running on 64 bit kernels: in_compat_syscall()
> - all processes running on 32 bit kernels: IS_ENABLED(CONFIG_32BIT)
>
> Unfortunately, as far as I can tell, CONFIG_32BIT is not enabled on 32bit x86
> kernels. Maybe CONFIG_X86_32 would be the right one there?

CONFIG_64BIT appears to be defined and enabled in all 64-bit
architectures, so I think !IS_ENABLED(CONFIG_64BIT) would work as a
generic check.

Ben.

>
> [1] https://www.openwall.com/lists/oss-security/2024/07/01/3
> [2] https://www.openwall.com/lists/oss-security/2024/07/08/3

--
Ben Hutchings
Computers are not intelligent. They only think they are.

Attachment: signature.asc
Description: This is a digitally signed message part