{ "id": "CVE-2024-41021", "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "published": "2024-07-29T14:15:03.870", "lastModified": "2024-11-21T09:32:04.980", "vulnStatus": "Awaiting Analysis", "cveTags": [], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ns390/mm: Fix VM_FAULT_HWPOISON handling in do_exception()\n\nThere is no support for HWPOISON, MEMORY_FAILURE, or ARCH_HAS_COPY_MC on\ns390. Therefore we do not expect to see VM_FAULT_HWPOISON in\ndo_exception().\n\nHowever, since commit af19487f00f3 (\"mm: make PTE_MARKER_SWAPIN_ERROR more\ngeneral\"), it is possible to see VM_FAULT_HWPOISON in combination with\nPTE_MARKER_POISONED, even on architectures that do not support HWPOISON\notherwise. In this case, we will end up on the BUG() in do_exception().\n\nFix this by treating VM_FAULT_HWPOISON the same as VM_FAULT_SIGBUS, similar\nto x86 when MEMORY_FAILURE is not configured. Also print unexpected fault\nflags, for easier debugging.\n\nNote that VM_FAULT_HWPOISON_LARGE is not expected, because s390 cannot\nsupport swap entries on other levels than PTE level." }, { "lang": "es", "value": "En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: s390/mm: corrija el manejo de VM_FAULT_HWPOISON en do_exception() No hay soporte para HWPOISON, MEMORY_FAILURE o ARCH_HAS_COPY_MC en s390. Por lo tanto, no esperamos ver VM_FAULT_HWPOISON en do_exception(). Sin embargo, desde la confirmaci\u00f3n af19487f00f3 (\"mm: hacer que PTE_MARKER_SWAPIN_ERROR sea m\u00e1s general\"), es posible ver VM_FAULT_HWPOISON en combinaci\u00f3n con PTE_MARKER_POISONED, incluso en arquitecturas que no admiten HWPOISON de otra manera. En este caso, terminaremos en el ERROR() en do_exception(). Solucione este problema tratando VM_FAULT_HWPOISON de la misma manera que VM_FAULT_SIGBUS, similar a x86 cuando MEMORY_FAILURE no est\u00e1 configurado. Tambi\u00e9n imprima indicadores defallos inesperadas para facilitar la depuraci\u00f3n. Tenga en cuenta que no se espera VM_FAULT_HWPOISON_LARGE, porque s390 no puede admitir entradas de intercambio en otros niveles que no sean el nivel PTE." } ], "metrics": {}, "references": [ { "url": "https://git.kernel.org/stable/c/73a9260b7366d2906ec011e100319359fe2277d0", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67" }, { "url": "https://git.kernel.org/stable/c/9e13767ccefdc4f8aa92514b592b60f6b54882ff", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67" }, { "url": "https://git.kernel.org/stable/c/a3aefb871222a9880602d1a44a558177b4143e3b", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67" }, { "url": "https://git.kernel.org/stable/c/df39038cd89525d465c2c8827eb64116873f141a", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67" }, { "url": "https://git.kernel.org/stable/c/9e13767ccefdc4f8aa92514b592b60f6b54882ff", "source": "af854a3a-2127-422b-91ae-364da2661108" }, { "url": "https://git.kernel.org/stable/c/a3aefb871222a9880602d1a44a558177b4143e3b", "source": "af854a3a-2127-422b-91ae-364da2661108" }, { "url": "https://git.kernel.org/stable/c/df39038cd89525d465c2c8827eb64116873f141a", "source": "af854a3a-2127-422b-91ae-364da2661108" } ] }