linux空间(linux基础命令表)
linux空间(linux基础命令表)
一、问题描述
accessok函数是什么原理?
问题二、问题分析
我们在内核空间和用户空间进行数据拷贝的时候必须判断用户空间地址是否合法。主要通过偶函数accessok来判断。1。Linux用户空间与内核地址空间
Linux操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。
通常32位Linux内核地址空间划分03G为用户空间,34G为内核空间。注意这里是32位内核地址空间划分,64位内核地址空间划分是不同的。
进程寻址空间04G
进程在用户态只能访问03G,只有进入内核态才能访问3G4G
进程通过系统调用进入内核态
每个进程虚拟空间的3G4G部分是相同的
进程从用户态进入内核态不会引起CR3的改变但会引起堆栈的改变2。accessok详解
原型:accessok(type,addr,size);
功能:
accessok检查用户空间指针是否有效注意,根据体系结构的不同,这个函数可能只是检查指针是否在用户空间范围内,在调用这个函数之后,内存访问函数可能仍然返回EFAULT
参数说明:
typeTypeofaccess:VERIFYREADorVERIFYWRITE。请注意,VERIFYWRITE是VERIFYREAD的超集如果写入一个块是安全的,那么从它读取总是安全的。addr要检查的块的开始的用户空间指针size要检查的块的大小
返回值:
此函数检查用户空间中的内存块是否可用。如果可用,则返回真(非0值),否则返回假(0)。2。源码分析defineaccessok(type,addr,size)(rangeok(addr,size)0)Weuse33bitarithmetichere。。。definerangeok(addr,size)({unsignedlongflag,roksum;chkuserptr(addr);asm(adds1,2,3;sbcccs1,1,0;movcc0,0:amp;r(flag),amp;r(roksum):r(addr),Ir(size),0(currentthreadinfo()gt;addrlimit):cc);flag;})staticinlinevoidchkuserptr(constvolatilevoidp,sizetsize){assert(pgt;useraddrminamp;amp;psizelt;useraddrmax);}
其中rangeok详解如下:参数对应:flag0roksum1addr2size3
汇编指令详解adds1,2,3
等价于:rosumaddrsize
这个操作会影响状态位(目的是影响是进位标志C)。
以下的两个指令都带有条件CC,也就是当C0的时候才执行;如果上面的加法指令进位了(C1),则以下的指令都不执行,flag就为初始值currentthreadinfo()gt;addrlimit(非0),并返回。如果没有进位(C0),就执行下面的指令:sbcccs1,1,0
该指令等价于rosumrosumflag1
也就是(addrsize)(currentthreadinfo()gt;addrlimit)1,操作影响符号位。。
如果(addrsize)gt;(currentthreadinfo()gt;addrlimit)1,则C1如果(addrsize)lt;(currentthreadinfo()gt;addrlimit)1,则C0当C0的时候执行以下指令,否则跳过(flag非零)。movcc0,0
等价于flag0,给flag赋值0。
综上所述:rangeok宏等价于:如果(addrsize)gt;(currentthreadinfo()gt;addrlimit)1,返回非零值如果(addrsize)lt;(currentthreadinfo()gt;addrlimit),返回零
而accessok就是检验将要操作的用户空间的地址范围是否在当前进程的用户地址空间限制中。这个宏的功能很简单,完全可以用C实现,不是必须使用汇编。由于这两个函数使用频繁,就使用汇编来实现部分功能来增加效率。3。使用实例
我们在内核拷贝数据到用户空间或者从用户空间拷贝数据到内核空间,都需要判断用户空间地址是否在用户空间。staticinlineunsignedlongmustcheckcopyfromuser(voidto,constvoiduserfrom,unsignedlongn){if(accessok(VERIFYREAD,from,n))ncopyfromuser(to,from,n);elsesecurityholeplugitmemset(to,0,n);returnn;}staticinlineunsignedlongmustcheckcopytouser(voiduserto,constvoidfrom,unsignedlongn){if(accessok(VERIFYWRITE,to,n))
删人后怎么恢复微信聊天记录(vivo手机怎么恢复微信聊天记录)66删人后怎么恢复微信聊天记录(vivo手机怎么恢复微信聊天记录)相信很多人有微信聊天记录丢失的体验,一般来说都是删除好友,或是重装微信会遇到的问题,很是令人苦恼。其实,微信自己就内置
under是什么意思(kate是什么意思)64below,under一below介词副词。作介词表示在以下在下面。作副词表示(作定语)下面的下方的(作状语)往下面在下方(作表语)在下面。below通常是指两事物在同一建筑物
干什么偏门来钱最快(穷疯了快速挣钱的偏门)人穷先挣钱,其他都是扯淡这里有几条挣快钱的路子,拿走不谢。职场鸡汤有时真的有毒。比如,某位知名博主说越穷越不要急着挣钱,而要先做好三件事。说得头头是道。完全是饱汉不知饿汉饥。人穷先
电子仪器测量身高准吗(电子量身高体重准不准)宅客智能超声波身高测量仪由武汉宅客运动研发的,其早前推出的smartstepper踏步机是目前市场上第一款真正意义上的智能踏步机在上一款产品的基础上推出的这一款产品是否如同官方所说
什么是氧化反应(氧化反应的概念分类举例)Jones氧化反应(JonesOxidation)反应机理链接httpchem。kingdraw。cnShortlink?id20200728173435Jones氧化反应(琼斯氧
国服网游排行榜前十名(国服韩信排行榜前十名)韩信这个英雄一直很受玩家们的欢迎,不少玩家都用韩信作为本命英雄。而很多主播和职业选手也都十分擅长韩信这个英雄,这些人的实力也很强悍,也赢得了不少粉丝的支持,下面我们就来看看都有哪些
俄亥俄州立大学排名如何(俄亥俄州立大学在美国的哪里)很多申请者在择校时都会把院校排名作为首要参考因素,比如以综合大学排名见长的U。S。News和以学术排名见长的QS。排名确实可以反映出某所大学的实力情况,但它真的是唯一参考吗?除了T
网上赚钱靠谱的方法有哪些(稳定的网络赚钱方法)1做百度知道合伙人打开百度搜索百度知道合伙人,然后入驻这个工作也就是回答百度知道的问题,回答一篇给你3元钱,熟练之后,基本10分钟就可以做一个回答。所以一个月赚个10002000还
家常麻辣烫的简单做法加牛奶(麻辣烫底料加牛奶)好吃到尖叫牛奶麻辣烫巨简单后悔做晚了所需食材牛奶2袋火锅底料1块各种火锅丸子爱吃的蔬菜面条适量做法步骤小火加入适量油,放入葱姜蒜爆香,放入1勺郫县豆瓣酱和火锅底料炒化,加入2袋鲜奶
放高利贷犯法吗(高利贷罪立案标准)高利贷是一种违法行为,因为民法典中明确禁止高利放贷。另外高利贷也很容易衍生出其他违法犯罪行为,如套取金融机构贷款的高利转贷罪,以及非法催收高利贷的催收非法债务罪。高利贷是指借款利率
各大集团公司创始人(名大公司创始人)11月30日夜间,蒙牛乳业发布公司董事变更授权代表变更董事会委员会组成变更的通知,自2021年12月1日起执行,其中,蒙牛创始人牛根生因退休并拟将更多时间投入慈善工作原因,辞任公司
爱你一生一世郑州准新人半夜两点起来排队领证每天都有不同的新闻上热搜,热搜也是大家了解当下各种热门新闻的一个途径的,这两天爱你一生一世郑州准新人半夜两点起来排队领证的热度就非常高,也是受到了网友们的关注,那么小编今天自然也是
智斗美女蛇(智斗美女蛇故事原型)智斗美女蛇(智斗美女蛇故事原型)有一个时期,长影厂一直拍摄了不少的商业片。这是在改革浪潮下的大胆尝试,也是从港台商业片中得到的一些经验。智斗美女蛇是1984年长影厂拍摄的。影片讲述
游龙戏凤电影(游龙戏凤免费看)游龙戏凤电影(游龙戏凤免费看)这盒磁带是台湾出版的实况录音,大约是1995年前后的演出,彼时中国京剧院三团刚刚恢复建制,由刘长瑜任团长,这场游龙戏凤就是刘长瑜率团去台湾演出的一场。
夜狼神到底多少钱(震惊了)真相惊呆了!夜狼神到底多少钱一瓶一粒一板几粒几片几瓶夜狼神唯一官方网站电话说明书一盒多少钱效果规格图片热线订购18310880830()QQ20049048(小徐微信17056289075(短
今日兰鑫废铁回收价,最新废铁回收价格表今日黑龙江废。。2019年格力挂机空调最新价格表汇总。。武汉废钢回收今日价格最新报价行情走势来自于我的钢铁网门户网站,为您提供废钢圆钢多少钱一吨产业资讯信息。包含最新的废钢回收多少
客家笑话(客家笑话七则)客家笑话(客家笑话七则)客家笑话赌缴令般般大传说很久之前的揭西河婆圩,有一人酷爱赌博,老是变着法子找借口向家人筹集赌资。骗得多了,家人都不相信他。有一次,他找了一个理由向他老婆要钱
搞清楚这些内容你才算真正的懂得创业真谛好多人觉得好像发展事业是一个很容易的事情,但其实这是你对创业没有正确的认识。实际上发展视野是一个很艰苦的事情,而且这是一个持久战,不是一下子就能搞定的,所以大家不要被演示剧里面的那
夜郎古国(夜郎古国在哪里?)夜郎古国(夜郎古国在哪里?)贵州历史上曾经出现过一个神秘的古国夜郎。可惜历史上关于夜郎国的资料基本不出史记西南夷列传,而该文对夜郎国的记载也不算多,只能算寥寥数语。其他的地方志基本
炊怎么读(避怎么读)知识点01学习目标1。认识避撼喧等5个生字,读音多音字雀,理解轻盈震撼等词语。2。抓住重点语句体会作者对弱小生命的关爱之情。3。体会作者语言的生动优美,激发学生的探索意识。4。根据
今日广西河池猪价(广西河池属于哪个市)是全国首批国家,本页面内容为针对网络谣言的辟谣,今广西疫情最新消息今天封城了是真是假,与百色田阳田东平果大化东兰凤山凌云等市县毗邻。广西哪个城市封城了。前身是始建于1934年的广西
今日北上广蛋粉价北上广依然相信爱情天狼影视为您提供北上广依然相信爱情免费在线观看,语言汉语普通话,国产类型影片。也是群众所不需要的。陈妍希饰。0。他们的工作是没有前途的。如果把自己看作群众的主人,使彼此都不能理解在