当前位置:  技术问答>linux和unix

(请来拿分)关于netlink 中的 kfree_skb的问题!

    来源: 互联网  发布时间:2016-05-08

    本文导语:  以下是我在驱动里的一段程序   skb = alloc_skb(size, GFP_ATOMIC);   skb->data[0]=0x55;   skb->data[1]=0x55;   skb->len=10;   ret = netlink_unicast(nlfd, skb, user_pid, MSG_DONTWAIT);   kfree_skb(skb); //记号1 我的目标进程能接收到这段数...

以下是我在驱动里的一段程序

  skb = alloc_skb(size, GFP_ATOMIC);
  skb->data[0]=0x55;
  skb->data[1]=0x55;
  skb->len=10;
  ret = netlink_unicast(nlfd, skb, user_pid, MSG_DONTWAIT);
  kfree_skb(skb); //记号1

我的目标进程能接收到这段数据,但是却会在“记号1”那条语句出现这个错误
kfree_skb passed an skb still on a list

  把kfree_skb(skb)注释掉就完全没问题了,我的问题是为什么会出现这个错误? kfree_skb 和什么有关? 为什么这里不能释放? 是不是和netlink_unicast有关系? (我在其他驱动里用kfree_skb都没出现过这个问题)

|
netlink_unicast接管了你的skb,你不能释放它
你可以看看netlink_unicast/netlink_broadcast的代码
在Linux中的sk_buff是最后使用的人来处理回收内存

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Norwaywoods(挪威的森林),谢谢你,请来拿分呀,天,送分都这么难!!!
  • 严正声明:对《程序员大本营2001Java版》不满意的请来签名抗议!!!
  • ZHLMNET(游水去喏!!!!) 请来领另外的100分。
  • 朋友请来研究unix操作系统源码
  • 请来分析一下报错原因!!!
  • dont_cry,感谢你对前面问题的回答,请来领分,他人莫如,以便删除
  • 请来指点一下呀,其实不难的。谢谢了。
  • _Shakespeare(网络骑士)请来拿分
  • _Shakespeare(网络骑士)请来拿分
  • cooled(一飞) 请来拿分!!!
  • wwwunix(木易) 请来拿分…… 01
  • wwwunix(木易) 请来拿分……
  • wwwunix(木易) 请来拿分…… 02
  • wwwunix(木易) 请来拿分…… 04
  • wjmmml(笑着悲伤),请来领分,谢谢你的文档!
  • forjie(风信子) ,谢谢你的软件,请来领分。
  • Netrich:请来领分:
  • 我不解,请来帮个忙......
  • (请来拿分)有关实时操作系统的问题
  • 关于QQ阻断,做过的请来


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3