В ядре Linux устранена следующая уязвимость:
cxl/region: блокировать удаление региона во время создания региона. Разверните блокировку диапазона, переименуйте его в «regions_lock», чтобы отключить удаление региона.
в критический период между build_region() и Attach_target(), так как
а также период между device_add() и регистрацией действий удаления. В противном случае пользовательское пространство может запутать ядро.
Это может нарушить предположение
регион остается зарегистрированным после завершения cxl_add_to_region(). Это может нарушить предположение о том, что devm_add_action_or_reset() работает.
с живой структурой cxl_region. Это нормально, если область исчезнет за пределами этих окон.
Горячее подключение устройства зеркала течет там, где удерживаются соответствующие замки.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: cxl/region: Block region delete during region creation Expand the range lock, rename it "regions_lock", to disable region deletion in the critical period between construct_region() and attach_target(), as well as the period between device_add() and registering the remove actions. Otherwise, userspace can confuse the kernel. It can violate the assumption the region stays registered through the completion of cxl_add_to_region(). It can violate the assumption that devm_add_action_or_reset() is working with a live 'struct cxl_region'. It is ok for the region to disappear outside of those windows as that mirrors device hotplug flows where the proper locks are held.