Kernel Backtrace 无法显示出具体的地址.
在手工抓kernel backtrace, 无法抓到显示具体的地址. 如:
XXXXX:/ # cat proc/self/stack
[<0000000000000000>] save_stack_trace_tsk+0x0/0xd8
[<0000000000000000>] proc_pid_stack+0xbc/0x110
[<0000000000000000>] proc_single_show+0x54/0xa8
[<0000000000000000>] seq_read+0x1c4/0x460
[<0000000000000000>] __vfs_read+0x34/0xf0
[<0000000000000000>] vfs_read+0x78/0x138
[<0000000000000000>] SyS_read+0x5c/0xc8
[<0000000000000000>] cpu_switch_to+0x210/0x2b8
[<0000000000000000>] 0xffffffffffffffff
同样, 通过 proc/kallsyms 时, 默认也会发现无法打印出地址信息.
这个是因为kernel pointer restrict的 限制, 为防止指针地址泄露,给hacker 有可乘之机, 将地址屏蔽了. android 默认有开启了,在android O 上参考代码:
/system/core/init/init.cpp

 443/* Set kptr_restrict to the highest available level.
444 *
445 * Aborts if unable to set this to an acceptable value.
446 */
447static int set_kptr_restrict_action(const std::vector& args)
448{
449 std::string path = KPTR_RESTRICT_PATH;
450
451 if (!set_highest_available_option_value(path, KPTR_RESTRICT_MINVALUE, KPTR_RESTRICT_MAXVALUE)) {
452 LOG(ERROR) << "Unable to set adequate kptr_restrict value!";
453 security_failure();
454 }
455 return 0;
456}

手工修改方式是:
adb shell "echo 0 > proc/sys/kernel/kptr_restrict"

MTK 驱动(73)--- Kernel Backtrace 无法显示出具体的地址.相关推荐

  1. MTK 驱动(67)---深入MTK平台bootloader启动之【 lk -amp;gt; kernel】分析笔记

    Pre-loader 运行在ISRAM,待完成 DRAM 的初始化后,再将lk载入DRAM中,最后通过特殊sys call手段实现跳转到lk的执行入口,正式进入lk初始化阶段. 一.lk执行入口: 位 ...

  2. MTK 驱动(64)---Mtk touch panel驱动/TP驱动详解

    Mtk touch panel驱动/TP驱动详解 TP还算是比LCM好理解的多. 在启动过程中,先注册/mediatek/custom/command/kernel/touchpanel目录下的具体驱 ...

  3. MTK 驱动开发(5)---bootloader

    1.框架 MTK 平台的启动过程经过四个模块,分别是BootRom,Preloader,LK,Kernel. 2 .bootloader到kernel启动总逻辑流程图 3.Boot ROM Boot ...

  4. MTK 驱动(65)---Android 多点触摸协议(Multi-touch Protocol)

    Android 多点触摸协议(Multi-touch Protocol) Android 多点触摸协议Multi-touch Protocol A协议 B协议 代码编写 Protocol A Prot ...

  5. LDE显示驱动(四):显示驱动内核底层代码分析

    作者:DayInAI 日期:20190124 一.RTMX 1)int de_rtmx_set_route(unsigned int sel, unsigned char pno, unsigned ...

  6. 【Multisim仿真】74LS47译码器驱动共阳数码管显示(0-8)数字显示

    [Multisim仿真]74LS47译码器驱动共阳数码管显示(0-8)数字显示 Multisim仿真演示 74ls47引脚功能 LT: 试灯输入,是为了检查数码管各段是否能正常发光而设置的.当LT=0 ...

  7. 单片机软件常用设计分享(二)驱动设计之LED灯显示设计

    单片机软件常用设计分享(二)驱动设计之LED灯显示设计 前言 <驱动设计–LED灯显示驱动> 一.LED灯工作方式 1.常亮 2.常灭 3.闪烁 4.间歇性闪烁 二.LED灯驱动数据结构 ...

  8. linux系统分辨率没有,Linux装完显卡驱动后分辨率无法正常显示怎么办?

    不少人在更新完Linux显卡驱动后,出现分辨率显示不正常的现象,遇到这类问题不用担心,下面小编就教你如何解决Linux显卡驱动安装后分辨率无法正常显示的问题,一起来学习下吧. 驱动安装: 这里得说明一 ...

  9. 数据库建模模板、菜单显示出问题解决方案

    数据库建模模板.菜单显示出问题解决方案 您使用的是哪个版本? 要查找您使用的 Visio 版本,请在"帮助"菜单上单击"关于 Microsoft Office Visio ...

最新文章

  1. Python列表解析式总结
  2. Java的Executor框架和线程池实现原理
  3. 小鹤双拼记忆口诀_选择双拼之自然码
  4. chrome jsp 显示不正常_JSP程序在chrome下不兼容的问题!
  5. 浏览器之本地缓存存储 localStorage 和 sessionStorage的区别以及用法
  6. Java 并发编程之 ConcurrentHashMap,ConcurrentSkipListMap
  7. java连接kvstore_Tendermint ABCI 应用 KVStore 源码详解
  8. pca各个向量之间的相关度_PCA算法原理及实现
  9. C Tricks(十九)—— 求以任意数为底的对数
  10. 2013页面验证框架来袭。基于独创的vvc思想。还不知道的童鞋赶快围观吧!
  11. 20多行 Python 代码优雅搞定 PDF 转换成图片
  12. EPM连接显示服务器不可用,EPM问题汇总之-SmartView无法连接Essbase
  13. 阿里云CDN、DCDN、SCDN的区别
  14. 联想G480安装WinXp
  15. IPv4与IPv6地址转换
  16. 《大秦帝国》:中国文明正源的强势生存
  17. gradle 使用 exclude 解决jar包冲突
  18. R语言使用diag函数生成一个N行N列的单位矩阵
  19. 小白如何利用自媒体做引流推广?
  20. Apache NIFI入门(读完即入门)

热门文章

  1. 链接脚本文件(*.lds)
  2. 汇编的一些坑以及部分上机题目的实现
  3. 高性能MySQL(第二版)第三章 架构优化和索引(上)——读书笔记
  4. A/D转换器(华中师范)
  5. Particle Filter Tutorial 粒子滤波:从推导到应用(一)
  6. mysql 双机异地热备份—-mysql主从,主主备份原理及实践
  7. 47不用加减乘除做加法
  8. Linux vi的基本操作
  9. oracle中直方图的使用
  10. 1-VScode格式化ESlint-方法(最全最好用方法!)