CVE-2026-43169

In the Linux kernel, the following vulnerability has been resolved: drm/buddy: Prevent BUG_ON by validating rounded allocation When DRM_BUDDY_CONTIGUOUS_ALLOCATION is set, the requested size is rounded up to the next power-of-two via roundup_pow_of_two(). Similarly, for non-contiguous allocations with large min_block_size, the size is aligned up via round_up(). Both operations can produce a rounded size that exceeds mm->size, which later triggers BUG_ON(order > mm->max_order). Example scenarios: - 9G CONTIGUOUS allocation on 10G VRAM memory: roundup_pow_of_two(9G) = 16G > 10G - 9G allocation with 8G min_block_size on 10G VRAM memory: round_up(9G, 8G) = 16G > 10G Fix this by checking the rounded size against mm->size. For non-contiguous or range allocations where size > mm->size is invalid, return -EINVAL immediately. For contiguous allocations without range restrictions, allow the request to fall through to the existing __alloc_contig_try_harder() fallback. This ensures invalid user input returns an error or uses the fallback path instead of hitting BUG_ON. v2: (Matt A) - Add Fixes, Cc stable, and Closes tags for context
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

11 Nov 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: drm/buddy: Prevenir BUG_ON validando la asignación redondeada Cuando DRM_BUDDY_CONTIGUOUS_ALLOCATION está configurado, el tamaño solicitado se redondea hacia arriba a la siguiente potencia de dos a través de roundup_pow_of_two(). De manera similar, para asignaciones no contiguas con un min_block_size grande, el tamaño se alinea hacia arriba a través de round_up(). Ambas operaciones pueden producir un tamaño redondeado que excede mm -> size, lo que posteriormente activa BUG_ON(order > mm -> max_order). Escenarios de ejemplo: - Asignación CONTIGUA de 9G en memoria VRAM de 10G: roundup_pow_of_two(9G) = 16G mayor que 10G - Asignación de 9G con un min_block_size de 8G en memoria VRAM de 10G: round_up(9G, 8G) = 16G mayor que 10G Solucione esto comprobando el tamaño redondeado contra mm -> size. Para asignaciones no contiguas o de rango donde size > mm -> size es inválido, devolver -EINVAL inmediatamente. Para asignaciones contiguas sin restricciones de rango, permitir que la solicitud pase al mecanismo de reserva (fallback) existente __alloc_contig_try_harder(). Esto asegura que la entrada de usuario inválida devuelva un error o use la ruta de reserva en lugar de activar BUG_ON. v2: (Matt A) - Añadir las etiquetas Fixes, Cc stable y Closes para el contexto

Information

Published : 2026-05-06 12:16

Updated : 2026-11-11 20:10


NVD link : CVE-2026-43169

Mitre link : CVE-2026-43169

CVE.ORG link : CVE-2026-43169


JSON object : View

Products Affected

linux

  • linux_kernel