高性能网络SIG月度动态:推动 SMC 用户态工具支持细粒度透明替换和共享内存占用监控

龙蜥社区OpenAnolis
发布于 2024-9-29 18:00
浏览
0收藏

本次月报总结了 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]​​https://lore.kernel.org/netdev/20240814130827.73321-1-guwen@linux.alibaba.com/​

[3] ​​https://github.com/ibm-s390-linux/smc-tools/pull/11​

[4]​​https://lore.kernel.org/netdev/1722224415-30999-1-git-send-email-alibuda@linux.alibaba.com/​

[5] ​​https://gitee.com/anolis/cloud-kernel/pulls/3774​

注:更多龙蜥 SIG 月度动态可点击​​这里​​查看。

高性能网络 SIG(Special Interest Group) :在这个万物互联的时代,云上的网络通信效率对各种服务至关重要,高性能网络兴趣组致力于利用 XDP、RDMA、VIRTIO 等新高效通信技术,结合软硬件一体化的思想,打造高性能网络协议栈,提升云计算时代数据中心应用的网络性能。

高性能网络 SIG 主页:​​https://openanolis.cn/sig/high-perf-network​

收藏
回复
举报
回复
    相关推荐