博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
start_kernel---boot_init_stack_canary<四>
阅读量:4638 次
发布时间:2019-06-09

本文共 753 字,大约阅读时间需要 2 分钟。

In init/main.c

1 /* 2      * Set up the the initial canary ASAP: 3 */ 4     boot_init_stack_canary();

in arch/arm/include/asm/stackprotector.h

1 /*  2  * Initialize the stackprotector canary value.  3  *  4  * NOTE: this must only be called from functions that never return,  5  * and it must always be inlined.  6  */  7 static __always_inline void boot_init_stack_canary(void)  8 {
9 unsigned long canary; 10 11 /* Try to get a semi random initial value. */ 12 get_random_bytes(&canary, sizeof(canary)); 13 canary ^= LINUX_VERSION_CODE; 14 15 current->stack_canary = canary; 16 __stack_chk_guard = current->stack_canary; 17 }

得到随机数字&kernel version,用于版本检测?

 

转载于:https://www.cnblogs.com/gdt-a20/archive/2012/01/15/2323160.html

你可能感兴趣的文章
cocos2d-x 音效中断问题
查看>>
子分类账知识学习(汇总网上比较有用的资料)
查看>>
pyQt 每日一练习 -- 登录框
查看>>
wp 删除独立存储空间文件(多级非空文件夹删除)
查看>>
Loadrunner安装使用入门
查看>>
smartupload 上传文件时 把页面编码改成gbk 解决乱码
查看>>
EPS是什么格式
查看>>
Python的数据库操作(Sqlalchemy)
查看>>
2.抽取代码(BaseActivity)
查看>>
My simplified pickit2 clone
查看>>
Redis 入门知识
查看>>
夏天过去了, 姥爷推荐几套来自smashingmagzine的超棒秋天主题壁纸
查看>>
转--Android如何在java代码中设置margin
查看>>
反射的所有api
查看>>
Js 判断网页窗口是否滚动到底部
查看>>
上传文件
查看>>
css 定位及遮罩层小技巧
查看>>
用java向mysql数据库中插入数据为空
查看>>
项目中非常有用并且常见的ES6语法
查看>>
dateTimePicker编辑状态下,取值不正确的问题
查看>>