lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250301212116.GA29069@willie-the-truck>
Date: Sat, 1 Mar 2025 21:21:16 +0000
From: Will Deacon <will@...nel.org>
To: torvalds@...ux-foundation.org
Cc: catalin.marinas@....com, linux-arm-kernel@...ts.infradead.org,
	linux-kernel@...r.kernel.org, kernel-team@...roid.com,
	ryan.roberts@....com, akpm@...ux-foundation.org
Subject: [GIT PULL] arm64 fixes for -rc5

Hi Linus,

Ryan's been hard at work finding and fixing mm bugs in the arm64 code,
so here's a small crop of fixes for -rc5. The main changes are to fix
our zapping of non-present PTEs for hugetlb entries created using the
contiguous bit in the page-table rather than a block entry at the level
above. Prior to these fixes, we were pulling the contiguous bit back out
of the PTE in order to determine the size of the hugetlb page but this
is clearly bogus if the thing isn't present and consequently both the
clearing of the PTE(s) and the TLB invalidation were unreliable.

Although the problem was found by code inspection, we really don't want
this sitting around waiting to trigger and the changes are CC'd to stable
accordingly.

Note that the diffstat looks a lot worse than it really is;
huge_ptep_get_and_clear() now takes a size argument from the core code
and so all the arch implementations of that have been updated in a
pretty mechanical fashion. The patches have been in linux-next without
problems and Andrew is aware that they're coming via arm64 [1].

Cheers, and please pull.

Will

[1] https://lore.kernel.org/all/20250205235219.3c3a4b968087d1386d708b04@linux-foundation.org/

--->8

The following changes since commit 0ad2507d5d93f39619fc42372c347d6006b64319:

  Linux 6.14-rc3 (2025-02-16 14:02:44 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes

for you to fetch changes up to eed6bfa8b28230382b797a88569f2c7569a1a419:

  arm64: hugetlb: Fix flush_hugetlb_tlb_range() invalidation level (2025-02-27 17:40:58 +0000)

----------------------------------------------------------------
arm64 fixes for -rc5

- Fix a sporadic boot failure due to incorrect randomization of the
  linear map on systems that support it

- Fix the zapping (both clearing the entries *and* invalidating the TLB)
  of hugetlb PTEs constructed using the contiguous bit

----------------------------------------------------------------
Ryan Roberts (4):
      arm64/mm: Fix Boot panic on Ampere Altra
      mm: hugetlb: Add huge page size param to huge_ptep_get_and_clear()
      arm64: hugetlb: Fix huge_ptep_get_and_clear() for non-present ptes
      arm64: hugetlb: Fix flush_hugetlb_tlb_range() invalidation level

 arch/arm64/include/asm/hugetlb.h     | 26 +++++++++++-----
 arch/arm64/mm/hugetlbpage.c          | 59 +++++++++++++++---------------------
 arch/arm64/mm/init.c                 |  7 +----
 arch/loongarch/include/asm/hugetlb.h |  6 ++--
 arch/mips/include/asm/hugetlb.h      |  6 ++--
 arch/parisc/include/asm/hugetlb.h    |  2 +-
 arch/parisc/mm/hugetlbpage.c         |  2 +-
 arch/powerpc/include/asm/hugetlb.h   |  6 ++--
 arch/riscv/include/asm/hugetlb.h     |  3 +-
 arch/riscv/mm/hugetlbpage.c          |  2 +-
 arch/s390/include/asm/hugetlb.h      | 16 +++++++---
 arch/s390/mm/hugetlbpage.c           |  4 +--
 arch/sparc/include/asm/hugetlb.h     |  2 +-
 arch/sparc/mm/hugetlbpage.c          |  2 +-
 include/asm-generic/hugetlb.h        |  2 +-
 include/linux/hugetlb.h              |  4 ++-
 mm/hugetlb.c                         |  4 +--
 17 files changed, 82 insertions(+), 71 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ