问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux内核af_netlink.c中函数netlink_rcv_skb()的用法

发布网友 发布时间:2022-04-26 12:09

我来回答

1个回答

热心网友 时间:2022-06-28 04:39

google出来的,这个网址应该对你有用...是解释这个函数的...
http://osvdb.org/show/osvdb/22386

The netlink_rcv_skb function in af_netlink.c in Linux kernel 2.6.14 and 2.6.15 allows local users to cause a denial of service (infinite loop) via a nlmsg_len field of 0.

大概说,这个函数可以允许local user发出一个拒绝服务,此时nlmsg字段为0.
具体我也不清楚什么是local user,nlmsg又是哪个结构体里的字段...内核的网络部分还没看...追问这个我也搜到了,是说的函数的一个bug吧,函数具体是怎么用?,参数代表什么?

追答恩,不好意思,好像很多都是说这个函数的bug的....
下面这个是我从2.6.36.2源码里面给你拷贝出来的..估计你也看过了
我安装过kernel man pages,但是里面也没有这个函数...

看申明,第一个参数是指向sk_buff的指针,看名字大概是缓冲区;第二个是个函数指针,作为回调函数用的,后面代码里面有调用...
好像是用在处理ack之前的预处理,不很清楚具体是干啥的..

int netlink_rcv_skb(struct sk_buff *skb, int (*cb)(struct sk_buff *,
struct nlmsghdr *))
{
struct nlmsghdr *nlh;
int err;

while (skb->len >= nlmsg_total_size(0)) {
int msglen;

nlh = nlmsg_hdr(skb);
err = 0;

if (nlh->nlmsg_len len nlmsg_len)
return 0;

/* Only requests are handled by the kernel */
if (!(nlh->nlmsg_flags & NLM_F_REQUEST))
goto ack;

/* Skip control messages */
if (nlh->nlmsg_type nlmsg_flags & NLM_F_ACK || err)
netlink_ack(skb, nlh, err);

skip:
msglen = NLMSG_ALIGN(nlh->nlmsg_len);
if (msglen > skb->len)
msglen = skb->len;
skb_pull(skb, msglen);
}

return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... Linux内核如何接收不同类型以太帧 (3) Linux网络协议栈中怎样传输数据包?,想先通过例子学习,刚看了sk_buf结构体,怎样复制一个s volume 在计算机领域中,它具有什么功能? linux skb headroom 的大小于什么有关系 如何查看linux软中断信息 linux 内核软中断 是在中断状态吗 linux 怎么查看skb queue有多大 linux什么报文skb 请教关于在linux网络驱动层对skb网络数据包 Intel 酷睿i5 4250U和Intel 酷睿i3 7100U有什么区别 打印机遇到异常配置问题怎么解决? HP打印机配置出现异常怎么弄? - 信息提示 EPSON打印机提示有异物怎么回事? EPSON打印机提示有异物 打印机刚才还好好的现在显示异常? 想练毛笔字,0基础,可以从什么开始联系?有一个具体步骤最好?谢谢! excel中要求平均值可以用哪个函数 i3 7100升i5,不用换主板的情况下,CPU要几代的什么型号,求个大神解答 2017年农历十一月出生的鸡宝宝命好吗 如何理解连接跟踪机制 Linux 初始化出错,这是为什么? 如何在linux下开启napi linux内核基于netfilter修改或构造数据包 张家界大峡谷电话 张家界大峡谷是三天内可去一次是嘛 如何知道张家界大峡谷是否订票成功 张家界大峡谷 湖南张家界大峡谷玻璃桥门票多少 张家界大峡谷可以直接买门票的吧? 明天估计到,就想知道要不要提前订票? 请问现在到张家界旅游,买票是现场买还是可以网上买?现在各景区票价是多少啊?请知道的请告知,谢谢! 张家界大峡谷本地多少钱 张家界大峡谷门票多少钱呢? 张家界大峡谷怎么走 请问张家界大峡谷网上订了票但是没带身份证怎么办 可以进去吗?_百度问一问 张家界大峡谷#如果是阴雨天,没有开放,能退票吗 张家界大峡谷的门票要多少钱? 想知道:张家界市 从张家界荷花机场到张家界大峡谷-玻璃桥怎么坐公交? 张家界景区有哪些 张家界各个景区怎么走 几个月前我开通了公司企业账号,今天支付宝网商银行打电话说 说要上门认证企业是怎么回事?_百度问一问