高性能网络SIG月度动态:推动 SMC 用户态工具支持细粒度透明替换和共享内存占用监控
一键查询高性能网络SIG最新动态。
本次月报总结了 SIG 在 7 月和 8 月的工作进展,涵盖 SMC 新特性推进及多个稳定性问题的修复:
01 整体进展
1、特性:推动上游 smc-tools 用户态工具对 IPPROTO_SMC 协议的透明替换支持。
2、特性:推动上游内核和 smc-tools 用户态工具对 SMC 持有共享内存数量的监控支持。
3、修复:修复多个通用内核网络、SMC 和 virtio-net 相关的 bug。
02 ANCK 通用内核网络协议栈
Bugfix
-
修复 sch_multiq 中潜在的 OOB 写异常问题。(PR3462)
-
修复 sockmap 中未被 accept 的 child sock 记录残留的问题。(PR3451)
-
修复 tcp 的异常警告问题。(PR3788)
-
修复 GRE 隧道发送路径上未捕获 pskb_trim 异常返回值导致的错误。(PR3612)
-
修复在 __skb_tstamp_tx 中存在的 skb 泄漏问题。(PR3615)
-
修复 SOCK_RAW socket 访问 icmp 头中未初始化字段导致的访问错误。(PR3606)
-
修复 netlink_set_err 中可能发生死锁的问题。(PR3609)
安全
-
修复 CVE-2024-36886:在 tipc_buf_append 错误处理路径中存在的 use-after-free 漏洞。(PR3529)
-
修复 CVE-2024-41090 和 CVE-2024-41091:禁止 tap/tun 设备传递长度小于以太网头的数据报文以避免潜在安全风险。(PR3559, PR3560)
03 SMC
双月 SMC 相关工作集中在推进上游 smc-tools 支持 IPPROTO_SMC 协议、smc 共享内存数量监控特性及稳定性问题修复。
smc-tools 支持 IPPROTO_SMC
随着 6 月 SIG 提交的 IPPROTO_SMC 特性合入上游,相关的对 smc-tools 用户态工具的补充也已提交上游 [1],此提交使 smc-tools 能够基于 eBPF 完成 IPPROTO_SMC 的透明替换。
共享内存数量监控
smc-tools 提供的 SMC 状态统计中缺少对每个 link group 或当前活跃连接持有共享内存的统计。为此,SIG 在 8 月向上游提交了共享内存监控相关的补丁[2],相应的用户态工具修改也已提交至上游 smc-tools 仓库[3],目前均已合入。
稳定性问题修复
修复了 IPPROTO_SMC 协议在 socket 创建失败时可能导致的 use-after-free 问题 [4]。
04 virtio
稳定性问题修复
修复了 virtio 网卡未协商 VIRTIO_NET_F_VQ_NOTF 特性时 vq resize 可能失败的问题 [5]。
相关链接:
[1] https://github.com/ibm-s390-linux/smc-tools/pull/10
[2][PATCH net-next v3 0/2] net/smc: introduce ringbufs usage statistics - Wen Gu
[3] https://github.com/ibm-s390-linux/smc-tools/pull/11
[4][PATCH net] net/smc: prevent UAF in inet_create() - D. Wythe
[5] Receive patch set 4ba8d970837,b50f2af9fbc · Pull Request !3774 · anolis/cloud-kernel - Gitee.com
注:更多龙蜥 SIG 月度动态可点击这里查看。
高性能网络 SIG(Special Interest Group) :在这个万物互联的时代,云上的网络通信效率对各种服务至关重要,高性能网络兴趣组致力于利用 XDP、RDMA、VIRTIO 等新高效通信技术,结合软硬件一体化的思想,打造高性能网络协议栈,提升云计算时代数据中心应用的网络性能。
高性能网络 SIG 主页:High Performance Network SIG - OpenAnolis龙蜥操作系统开源社区
更多推荐
所有评论(0)