安庆

导航

i40e网卡驱动遇到的一个问题

最近在排查一个crash文件的时候,遇到一个堆栈,即软中断收包的时候,skb的关联的dev是null,导致oops,

然后去crash分析的时候,发现skb的dev去不是null。

从oops到crash收集完毕,按道理是一段极为短的时间,因为,x86的架构,oops时会发送nmi给其他各个核要求stop。

从crash看,当时触发oops时,rip异常,这点是肯定的,分析crash时,原本异常的值从内存中读出来是正常也是肯定的,那么概率很大的可能是,

在这段极短的时间内,这个内存地址存在异常并发访问。

走查对应的skb分配并且赋值dev的代码,发现一个问题,i40e的2.0.30版本,存在skb的一种uaf问题。

然后找intel管网,对比新的驱动,发现这个bug已经被修复。

posted on 2019-09-22 15:57  _备忘录  阅读(1220)  评论(0编辑  收藏  举报