我使用netlink套接字与linux内核通信用户python代码,我可以从用户正确地发送消息到内核,但不能从内核获得响应。它显示:“向用户发送bak时出错。”在我的内核代码中
我尝试了所有的方法来获得响应消息:recv,recvfrom recvmsg,然后我的目的是解压它以获得具有以下格式的响应的有效负载: response_message = header +有效负载,但是用户总是无法获得响应。我在执行用户python代码时得到了这样的信息:
pid of sock : 1
seq number of sock : 0
pid of the message send to kernel:
我正在开发中断代码。当我包括#include <linux/interrupt.h>的时候,我得到
fatal error : linux/interrupt.h no such file or directory
为什么我要得到这个错误,我如何解决这个错误?
相反,当我包含该头文件时,我会再得到一个错误。最后,我将得到linux/编译器.h错误。
但是所有这些文件都存在于/usr/src/linux-headers-4.4.0-151/include/linux/中
你能帮我找到解决这个问题的办法吗?
我知道正常的方式,我试过了,但似乎行不通。
在linux/net/sched/sched_htb.c中,我定义了变量:
unsigned int queuelength;
EXPORT_SYMBOL(queuelength);
还有一些关于变量的动作,不重要。
在linux/net/ipv4 4/tcp_dctcp.c中,
extern unsigned int queuelength;
错误随net/内置.o:
In function `dctcp_update_alpha':
linux/net/ipv4/tcp_dctcp.c:230: undefined reference t
在我的linux头文件文件夹中,包含在/usr/src/linux-headers-5.7.0-kali1-common/include.目录中的Kali内核5.7.0头在这个文件夹中,我有包含在子文件夹中的头文件,如asm-generic、linux、uapi、acpi、crypto等等。但是在头文件中,即linux/module.h中有一个头文件引用,如
#include <asm/module.h> // top of linux/module.h
但实际上,我没有asm文件夹,当我安装这些文件时,它已经包含在我的头文件中了。所以我想到的一个解决办法就是。可能的解决