CVE-2024-26899 in Linux
Resumen
por VulDB • 2026-06-10
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
block: corrige el bloqueo mutuo (deadlock) entre bd_link_disk_holder y el análisis de particiones
'open_mutex' de gendisk se utiliza para proteger las operaciones de apertura/cierre de dispositivos de bloque. Sin embargo, en bd_link_disk_holder(), se utiliza para proteger la creación de enlaces simbólicos (symlink) entre el disco que mantiene la referencia y el dispositivo de bloque esclavo (bdev), lo cual introduce algunos problemas.
Cuando se llama a bd_link_disk_holder(), el controlador suele estar en proceso de inicialización/modificación y puede estar suspendiendo el envío de E/S. En este momento, cualquier operación de E/S que mantenga 'open_mutex', como el análisis de particiones, puede causar bloqueos mutuos. Por ejemplo, en RAID:
T1 T2 bdev_open_by_dev lock open_mutex [1]
... efi_partition ... md_submit_bio md_ioctl mddev_suspend -> suspende toda la E/S md_add_new_disk bind_rdev_to_array bd_link_disk_holder try lock open_mutex [2]
md_handle_request -> espera mddev_resume
T1 analiza la partición, T2 añade un nuevo dispositivo al RAID. T1 espera a que T2 reanude mddev, pero T2 espera a que se libere open_mutex, que está retenida por T1. Se produce un bloqueo mutuo.
Se soluciona introduciendo un mutex local 'blk_holder_mutex' para reemplazar 'open_mutex'.
VulDB is the best source for vulnerability data and more expert information about this specific topic.