免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: jinxinxin163
打印 上一主题 下一主题

对linux钩子函数的理解 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
21 [报告]
发表于 2010-06-17 12:47 |只看该作者
回复 19# Godbach


    两位都是高手+前辈,久仰久仰、、、

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
22 [报告]
发表于 2010-06-17 12:48 |只看该作者
回复 18# platinum


    确实看到过很多白金兄的帖子。久仰久仰、、、

论坛徽章:
1
天蝎座
日期:2014-02-28 16:08:53
23 [报告]
发表于 2010-06-18 00:36 |只看该作者
  1.   read_lock_bh(&user_proc.lock);
  2.         if(user_proc.pid != 0) {
  3.             read_unlock_bh(&user_proc.lock);
  4.             info.src = iph->saddr;
  5.             info.dest = iph->daddr;
  6.             send_to_user(&info);
  7.         }
复制代码
这里会不会存在不解锁的情况

论坛徽章:
0
24 [报告]
发表于 2010-06-18 09:23 |只看该作者
这里会不会存在不解锁的情况
snriyt 发表于 2010-06-18 00:36



要看代码上下文
如果只有这些的话,那确实存在当 pid 为 0 时的未解锁现象

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
25 [报告]
发表于 2010-06-18 23:13 |只看该作者
回复 23# snriyt



其实,完整的代码是:

    read_lock_bh(&user_proc.lock);
    if(user_proc.pid != 0) {
            read_unlock_bh(&user_proc.lock);
            info.src = iph->saddr;
            info.dest = iph->daddr;
            send_to_user(&info);
    }
    else
            read_unlock_bh(&user_proc.lock);



所以不会出现你说的那种情况
见:http://blog.chinaunix.net/u2/73067/showart_2242310.html

论坛徽章:
0
26 [报告]
发表于 2010-06-19 14:09 |只看该作者
学习了

论坛徽章:
0
27 [报告]
发表于 2010-06-19 17:09 |只看该作者
顶一下,好正点积分区赌球

评分

参与人数 1可用积分 -30 收起 理由
platinum -30 恶意灌水

查看全部评分

论坛徽章:
0
28 [报告]
发表于 2010-06-22 15:21 |只看该作者
hook函数是有返回值的。如果返回NF_ACCEPT的话,后续的程序才接着处理数据包。

论坛徽章:
0
29 [报告]
发表于 2010-07-09 17:07 |只看该作者
顶一个,good good study,day day up!{:3_189:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP