+ -
当前位置:首页 → 问答吧 → netlink_kernel_create() 创建socket失败,总是返回NULL

netlink_kernel_create() 创建socket失败,总是返回NULL

时间:2010-11-03

来源:互联网

如题。kernel version 2.6.22-generic。在我用来实验的简单程序里没有问题。nl_sk = netlink_kernel_create(&init_net,NETLINK_TEST,0, testFunction,NULL, THIS_MODULE)。我已经在module header的netlilnk.h中添加了#define NETLINK_TEST 17。testFunction()只是简单地打印user space传到kernel的信息。可是当我用到真正的代码中的时候,每次创建socket都失败,甚至即使我的handler继续使用testFunction也不行。我想请问应该如何跟踪创建socket失败的原因?我手边没有代码,下了班回去之后会贴出,现在只希望有类似经验的人能够提供点建议。谢谢!

作者: waveletwei   发布时间: 2010-11-03

错误信息是什么呢

作者: Godbach   发布时间: 2010-11-03

回复 Godbach

没有错误信息。只是我在程序里验证nl_sk总是为NULL。这也是我的问题:我在示例程序里看到他们都是只判断返回指针是否为空,如果是空就打印错误信息然后函数退出。我没有看到他们是如何追踪创建失败原因和如何重新创建的。请问在实际程序中是如何做的?

作者: waveletwei   发布时间: 2010-11-03