![[Android稳定性] 第042篇 [问题篇] 数组越界导致的Unexpected kernel BRK exception at EL1](https://iliuqi-obsidian.oss-cn-shanghai.aliyuncs.com/20250530185516136.png)
[Android稳定性] 第042篇 [问题篇] 数组越界导致的Unexpected kernel BRK exception at EL1
在reboot压力测试中,一台设备出现死机,死机类型为Unexpected kernel BRK exception at EL1,发生在CPU7上的fg_mac_read_block函数。通过分析内核调用跟踪和源码,发现死机是由于fg_checksum函数中的数组越界引起的。具体来说,t_len没有做范围限制,导致在t_buf[35]大于42时,访问t_buf数组越界。解决方案是在t_len大于42时将其限制为42。此外,分析还发现不能完全相信trace32解析处的变量结果,某些情况下需要根据寄存器值来推导实际值。此外,编译器优化也对代码执行产生了影响,例如在某些情况下直接将结果赋值给寄存器,不再运行时计算。
![[Android稳定性] 第041篇 [问题篇] Unable to handle kernel paging request at virtual address 00046ffca9037bf9](https://iliuqi-obsidian.oss-cn-shanghai.aliyuncs.com/20250520191844464.png)
[Android稳定性] 第041篇 [问题篇] Unable to handle kernel paging request at virtual address 00046ffca9037bf9
问题现象 死机 分析步骤 [ 189.052980][ T5068] Unable to handle kernel paging request at virtual address 00046ffca9037bf9 [ 189.052991][ T5068] Mem abort info:
![[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稳定性] 第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 版权协议,