Yves-Alexis Perez reported commit 4ef9ad19e176 ("mm: huge_memory: don't force huge page alignment on 32 bit") didn't work for x86_32 [1]. It is because x86_32 uses CONFIG_X86_32 instead of CONFIG_32BIT.
!CONFIG_64BIT should cover all 32 bit machines.
[1] https://lore.kernel.org/linux-mm/CAHbLzkr1LwH3pcTgM+aGQ31ip2bKqiqEQ8=FQB+t2c...
Fixes: 4ef9ad19e176 ("mm: huge_memory: don't force huge page alignment on 32 bit") Reported-by: Yves-Alexis Perez corsac@debian.org Tested-By: Yves-Alexis Perez corsac@debian.org Cc: stable@vger.kernel.org [6.8+] Signed-off-by: Yang Shi yang@os.amperecomputing.com --- mm/huge_memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 2120f7478e55..64f00aedf9af 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -857,7 +857,7 @@ static unsigned long __thp_get_unmapped_area(struct file *filp, loff_t off_align = round_up(off, size); unsigned long len_pad, ret, off_sub;
- if (IS_ENABLED(CONFIG_32BIT) || in_compat_syscall()) + if (!IS_ENABLED(CONFIG_64BIT) || in_compat_syscall()) return 0;
if (off_end <= off_align || (off_end - off_align) < size)
On 12.07.24 17:58, Yang Shi wrote:
Yves-Alexis Perez reported commit 4ef9ad19e176 ("mm: huge_memory: don't force huge page alignment on 32 bit") didn't work for x86_32 [1]. It is because x86_32 uses CONFIG_X86_32 instead of CONFIG_32BIT.
!CONFIG_64BIT should cover all 32 bit machines.
[1] https://lore.kernel.org/linux-mm/CAHbLzkr1LwH3pcTgM+aGQ31ip2bKqiqEQ8=FQB+t2c...
Fixes: 4ef9ad19e176 ("mm: huge_memory: don't force huge page alignment on 32 bit") Reported-by: Yves-Alexis Perez corsac@debian.org Tested-By: Yves-Alexis Perez corsac@debian.org Cc: stable@vger.kernel.org [6.8+] Signed-off-by: Yang Shi yang@os.amperecomputing.com
mm/huge_memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 2120f7478e55..64f00aedf9af 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -857,7 +857,7 @@ static unsigned long __thp_get_unmapped_area(struct file *filp, loff_t off_align = round_up(off, size); unsigned long len_pad, ret, off_sub;
- if (IS_ENABLED(CONFIG_32BIT) || in_compat_syscall())
- if (!IS_ENABLED(CONFIG_64BIT) || in_compat_syscall()) return 0;
if (off_end <= off_align || (off_end - off_align) < size)
Acked-by: David Hildenbrand david@redhat.com
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On Fri, 2024-07-12 at 08:58 -0700, Yang Shi wrote:
Yves-Alexis Perez reported commit 4ef9ad19e176 ("mm: huge_memory: don't force huge page alignment on 32 bit") didn't work for x86_32 [1]. It is because x86_32 uses CONFIG_X86_32 instead of CONFIG_32BIT.
!CONFIG_64BIT should cover all 32 bit machines.
Hi,
I've noticed that the patch was integrated into the -mm tree and next/master. It's not yet in the first half of the merge window for 6.11 but do you know if it's scheduled for rc1?
Regards, - -- Yves-Alexis
On Fri, 19 Jul 2024 11:19:24 +0200 Yves-Alexis Perez corsac@debian.org wrote:
On Fri, 2024-07-12 at 08:58 -0700, Yang Shi wrote:
Yves-Alexis Perez reported commit 4ef9ad19e176 ("mm: huge_memory: don't force huge page alignment on 32 bit") didn't work for x86_32 [1]. It is because x86_32 uses CONFIG_X86_32 instead of CONFIG_32BIT.
!CONFIG_64BIT should cover all 32 bit machines.
Hi,
I've noticed that the patch was integrated into the -mm tree and next/master. It's not yet in the first half of the merge window for 6.11 but do you know if it's scheduled for rc1?
I put it in the mm-hotfixes branch since it's cc:stable. I expect to send the hotfixes to Linus next week.
linux-stable-mirror@lists.linaro.org