影响范围
6.7 <= Linux Kernel < 6.18.34
6.19 <= Linux Kernel < 7.0.11
Linux Kernel 7.1-rc1
Linux Kernel 7.1-rc2
Linux Kernel 7.1-rc3
Linux Kernel 7.1-rc4
安全建议
升级版本
官方已发布安全补丁,请及时升级至包含漏洞修复的 Linux Kernel版本:
- Linux Kernel 6.12分支:升级至 6.12.97及以上版本(修复提交:293fe8f2d1b5)
- Linux Kernel 6.18分支:升级至 6.18.34及以上版本(修复提交:76b995bc57bd)
- Linux Kernel 7.0分支:升级至 7.0.11及以上版本(修复提交:b3155f2b78db)
- Linux Kernel 7.1主线:升级至 7.1-rc5及以上版本(修复提交:ae38d9179190)
修复补丁通过调整 vsock/virtio zerocopy发送路径处理逻辑解决该问题。修复后,内核不再仅为最后一个 skb 创建 zerocopy uarg,而是在发送循环前创建 uarg,并通过 skb_zcopy_set() 将其关联至每个 skb,使每个 skb均持有对应引用,待所有 skb释放完成后再通知用户态;当发送失败且未发送数据时,通过 net_zcopy_put_abort() 正确终止通知流程。
下载链接:
https://git.kernel.org/stable/c/293fe8f2d1b5ac464ca16a8eba09571bbbb34ba9/
https://git.kernel.org/stable/c/76b995bc57bd90cb6e954e1966fbd8786da47f0d
https://git.kernel.org/stable/c/ae38d9179190a956e2a87a69ef1dd6f451b51c4d
https://git.kernel.org/stable/c/b3155f2b78db21e99256bcf7eb902f24ff6d5338