![[Android稳定性] 第025篇 [问题篇] KASAN slab-out-of-bounds内存越界问题](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/2/cover_android_stability_025_5740910aa4ba21f5dc33014b9ca9c449.png)
[Android稳定性] 第025篇 [问题篇] KASAN slab-out-of-bounds内存越界问题
文章摘要:在kasan版本corgi:4967550中,发现4台设备死机,问题源于usbpd模块的slab-out-of-bounds。分析发现,问题出在usbpd_mi_vdm_received_cb函数中的for循环,导致内存越界。通过汇编代码和源码确认,vdos起始地址为0xffffff808d6c0a58,范围为0x8。解决方案是调整循环次数,使用rx_msg->data_len/sizeof(u32)来控制。此外,问题是由KASAN检测出的slab内存泄漏,可通过内存分布和alloc/free track进一步分析。
![[Android稳定性] 第024篇 [方法篇] RCU Stall问题如何进行分析?](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/24/12/cover_how_to_debug_rcu_stall_issue.png)
[Android稳定性] 第024篇 [方法篇] RCU Stall问题如何进行分析?
RCU是一种针对多核多线程环境的内存同步机制,适用于读多写少的场景,通过读写操作分离提高系统效率。RCU Stall是RCU子系统在检测到异常时触发的状态,常见原因包括任务长时间运行、RCU临界区未退出等。分析RCU Stall的方法包括查看内核日志、任务堆栈回溯、检查长时间运行任务和调整RCU参数等。实例中通过dmesg日志分析确认RCU Stall问题,并通过触发panic获取更多信息。
![[Android稳定性] 第023篇 [问题篇] printk非空的非法指针参数导致的spinlock死锁引起Non Secure WDT](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/2/cover_android_stability_023.png)
[Android稳定性] 第023篇 [问题篇] printk非空的非法指针参数导致的spinlock死锁引起Non Secure WDT
当前文章内容已隐藏,输入密码后可见。
![[Android稳定性] 第022篇 [原理篇] kernel panic的死亡信息的由来](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/1/cover_android_stability_022.png)
[Android稳定性] 第022篇 [原理篇] kernel panic的死亡信息的由来
本文详细介绍了内核稳定性问题中的“kernel panic”异常处理流程。首先,文章通过一个具体的“Unable to handle kernel NULL pointer dereference”异常案例,解释了异常产生的原因和状态信息。接着,文章深入分析了异常处理流程,包括异常入口、异常向量表、异常处理函数等。最后,文章解释了panic函数的触发条件和流程。通过本文,读者可以更好地理解内核稳定性问题,以及如何处理“kernel panic”异常。
![[Android稳定性] 第021篇 [问题篇] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted](https://halo-19274848.oss-cn-shanghai.aliyuncs.com/2025/06/halo_jhqyzy1.png?x-oss-process=style/watermark&x-oss-process=image/resize,w_800,m_lfit)
[Android稳定性] 第021篇 [问题篇] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted
![[Android稳定性] 第020篇 [方法篇] crash实战:手把手教你使用crash分析内核dump](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/1/cover_android_stability_020_d72a61900b5d80ca3b1a9b3aeea2d6c4.png)
[Android稳定性] 第020篇 [方法篇] crash实战:手把手教你使用crash分析内核dump
copyright_author: OPPO内核工匠 copyright_author_href: https://blog.csdn.net/feelabclihu?type=blog copyright_info: 此文章版权归 OPPO内核工匠 所有,遵循 CC 4.0 BY-SA 版权协议,
![[Android稳定性] 第019篇 [原理篇] QCOM 常见 reboot 类型流程梳理](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/1/cover_android_stability_019.png)
[Android稳定性] 第019篇 [原理篇] QCOM 常见 reboot 类型流程梳理
cover: "" copyright_author: zsl copyright_author_href: https://github.com/zslxiu copyright_url: "https://wayawbott0.f.mioffice.cn/docx/doxk46H9DPPTQcG
![[Android稳定性] 第018篇 [问题篇] 串口日志未关闭导致的watchdog](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/1/cover_android_stability_018.png)
[Android稳定性] 第018篇 [问题篇] 串口日志未关闭导致的watchdog
0. 问题现象 死机,dmesg中日志如下: [ 34.029307][ C0] ------------[ cut here ]------------ [ 35.844227][ C0] msm_watchdog f410000.qcom,wdt: QCOM Apps Wat
![[Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/1/cover_android_stability_017.png)
[Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程
高通watchdog的分析套路: 检查watchdog执行状态,pet、bark time,expires时间等必要信息,可以自己去看msm_watchdog_data,也可以直接检查rampaser解出来的Watchdog data(Non-secure Watchdog data) 检查msm_
![[Android稳定性] 第016篇 [原理篇] 高通平台watchdog机制原理解析](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/1/cover_android_stability_016.png)
[Android稳定性] 第016篇 [原理篇] 高通平台watchdog机制原理解析
0. watchdog的概念 Watchdog主要应用于嵌入式系统,用于系统出现严重故障(如内核死锁,进入死循环,CPU跑飞等)不能恢复时,在无人为介入的情况下可以自动重新启动系统。 在传统Linux 内核下, watchdog的基本工作原理是:当watchdog启动后(即/dev/watchdog