永发信息网

linux内核空间能正常显示mac地址,到了用户空间就显示有问题

答案:2  悬赏:70  手机版
解决时间 2021-02-20 16:46
在应用程序里调用ioctl去获取所连接的无线设备。
在调用的驱动里加printk打印,所获得的无线设备的mac地址全部正确。
但在应用程序里,调用完ioctl之后,只有第一个无线设备的mac地址是正确的,剩下的显示都不对。
这是跟用户空间指针有关吗?,应该如何解决这个问题啊?
最佳答案
在内核态能够直接操作的地址一定必须是0xc0000000-0xffffffff之间的,这个范围之外的地址都会发生缺页异常,要访问用户态的地址空间的话,只能先将用户地址空间转换到内核地址空间;
用户空间地址-》物理地址-》内核空间地址-》操作
比如在内核态要将0x08048100处的赋值10;
先通过0x08048100查页表得到其物理地址A,
如果A<896M,那么就 *(0xc000_0000+A)=10;
如果A>896M(高端内存),就需要通过内核动态映射区将物理地址A映射到内核地址空间B,然后*B=10;
B的值在范围(0xc0000000+896M,0xffffffff)之间;
全部回答
不是 是freebsd,unix的一个主要分支
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
蓝靛厂晴波园北门(人行门)在哪里啊,我有事要
2016英语指南针九年级答案
河南省邓州仲景路吊桥东段属于什么街道
克拉恋人米朵扮淑女是哪集
读某季节的太平洋表层水温等值线分布图(单位
什么日什么新的成语?度日如?心急如?
WOW人类和兽人进行了几次战争? 都介绍一下
想让人帮忙翻成日文:我很喜欢你的画作,为了
怎么查看自己QQ近期玩过什么游戏上过Q没有
TCL液晶电视L42V10不开机故障维修求助
iphone6 9.0系统降级8.41,原来系统里面的文
从大连机场下飞机需要多久能出机场
国家支持中医药对外交流与合作,()A.发展中医
宏光驾校土门墩店(报名处)我想知道这个在什么
求一篇英语原创作文
推荐资讯
如家酒店连锁天津塘沽中心北路洋货市场店在哪
和“丽”字押韵的有什么字?
疑难病历讨论记录内容不含以下哪一条()
武林外传时装精仿在精炼师的哪一个任务栏里面
什么的迅速?求教导
魅族是什么系统?安卓么?
单选题当前我国提出了振兴东北老工业基地的战
高达 psp上的机动战士高达SEED DESTINY 联
两个月的宝宝夏天长了好多痱子,天天用金银花
小孩子口臭是什么原因
6288如何设置限制某一个号码的来电?
张家围子村地址有知道的么?有点事想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?