最近在排查一个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已经被修复。

相关文章:

  • 2022-02-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2021-05-20
  • 2022-12-23
猜你喜欢
  • 2021-04-18
  • 2021-11-20
  • 2021-05-09
  • 2022-01-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案