CVE-2026-43475Linux内核中的Hyper-V存储驱动(storvsc)在启用PREEMPT_RT时存在一个漏洞,可能导致系统死锁或崩溃。该问题由原子上下文中不当地调用可能导致睡眠的锁机制引起,触发了'scheduling while atomic'错误。攻击者利用本地低权限即可触发此漏洞,导致系统可用性受损。
该漏洞位于Linux内核的`drivers/scsi/storvsc_drv.c`驱动中。当内核启用PREEMPT_RT补丁集运行在Hyper-V平台上时,普通的自旋锁被转换为可睡眠的实时互斥锁。在处理I/O请求时,`storvsc_queuecommand`函数在原子上下文中调用`hv_ringbuffer_write`,进而尝试获取`rt_spin_lock`。由于实时锁的实现可能触发调度,而原子上下文禁止调度,从而导致内核抛出'Scheduling while atomic'异常并引发系统恐慌或死锁。日志显示该错误通常在高I/O压力(如stress-ng-iomix测试)下被触发。