漏洞标题
s390/mm: 在do_exception()中修正VM_FAULT_HWPOISON处理
漏洞描述信息
在Linux内核中,已解决以下漏洞:
s390/mm: 在do_exception()中修复VM_FAULT_HWPOISON处理
在s390上,不支持HWPOISON、MEMORY_FAILURE或ARCH_HAS_COPY_MC。因此,我们不期望在do_exception()中看到VM_FAULT_HWPOISON。
然而,由于commit af19487f00f3(“mm: 使PTE_MARKER_SWAPIN_ERROR更通用”),在不支持HWPOISON的架构上,甚至可能在与PTE_MARKER_POISONED结合使用时看到VM_FAULT_HWPOISON。在这种情况下,我们将在do_exception()中最终遇到BUG()。
通过将VM_FAULT_HWPOISON视为与VM_FAULT_SIGBUS相同的处理,来修复此问题,类似于在未配置MEMORY_FAILURE时的x86处理方式。同时打印出意外的故障标志,以方便调试。
需要指出的是,VM_FAULT_HWPOISON_LARGE不被预期,因为s390无法在PTE级别之外支持交换项。
CVSS信息
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
漏洞类别
空指针解引用
漏洞标题
s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception()
漏洞描述信息
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.
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于在 s390 架构上,没有对 HWPOISON、MEMORY_FAILURE 或 ARCH_HAS_COPY_MC 的支持,因此在 do_exception 中不应该看到 VM_FAULT_HWPOISON。
CVSS信息
N/A
漏洞类别
其他