Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2024-41021

s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception()

Description

In the Linux kernel, the following vulnerability has been resolved: s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception() There is no support for HWPOISON, MEMORY_FAILURE, or ARCH_HAS_COPY_MC on s390. Therefore we do not expect to see VM_FAULT_HWPOISON in do_exception(). However, since commit af19487f00f3 ("mm: make PTE_MARKER_SWAPIN_ERROR more general"), it is possible to see VM_FAULT_HWPOISON in combination with PTE_MARKER_POISONED, even on architectures that do not support HWPOISON otherwise. In this case, we will end up on the BUG() in do_exception(). Fix this by treating VM_FAULT_HWPOISON the same as VM_FAULT_SIGBUS, similar to x86 when MEMORY_FAILURE is not configured. Also print unexpected fault flags, for easier debugging. Note that VM_FAULT_HWPOISON_LARGE is not expected, because s390 cannot support swap entries on other levels than PTE level.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • af19487f00f34ff8643921d7909dbb3fedc7e329 to < 73a9260b7366d2906ec011e100319359fe2277d0affected
  • af19487f00f34ff8643921d7909dbb3fedc7e329 to < 9e13767ccefdc4f8aa92514b592b60f6b54882ffaffected
  • af19487f00f34ff8643921d7909dbb3fedc7e329 to < a3aefb871222a9880602d1a44a558177b4143e3baffected
  • af19487f00f34ff8643921d7909dbb3fedc7e329 to < df39038cd89525d465c2c8827eb64116873f141aaffected

Linux Linux

Default version status: affected

  • 6.6affected
  • 0 to < 6.6unaffected
  • 6.6.44 to ≤ 6.6.*unaffected
  • 6.9.12 to ≤ 6.9.*unaffected
  • 6.10.2 to ≤ 6.10.*unaffected
  • 6.11 to ≤ *unaffected

References