[Android稳定性] 第65篇 SELinux 设置为 permissive 模式后出现的 kernel panic 3日前 1 条
[Android稳定性] 第65篇 SELinux 设置为 permissive 模式后出现的 kernel panic

项目在 bringup 阶段发现,将手机 SELinux 设为 permissive 后系统会在进入 Android 前死机。通过 fulldump 与内核日志可见 panic 原因是 UBSAN 报告的数组越界,触发点位于 uzram 模块的 zram_submit_bio。借助自研工具 kernel-panic-killer,AI 自动还原异常路径:反汇编发现 zram_submit_bio 中通过 current_algo 计算压缩算法索引,逻辑为 algo = current_algo; 访问 zram->comps[algo - 1]。由于 current_algo 默认为未初始化的

[Android稳定性] 第64篇 blk_mq_tags Use-After-Free 导致系统级 I/O 死锁 2026-06-01 1 条
[Android稳定性] 第64篇 blk_mq_tags Use-After-Free 导致系统级 I/O 死锁

围绕 SPRD UMS9230 平台在 DDR Qualify.TT 测试中出现的冻屏问题,分析通过 ramdump、vmlinux 等工件定位到根因在内核 Block 层:blk_mq_tags 结构体发生 use-after-free,Scsi_Host.tag_set.tags 指针指向已被释放并被 cpumask/IRQ affinity 对象重用的 kmalloc-128 slab。内存中出现 “effective_affinity” 字符串,进一步印证该区域已被 IRQ 亲和性相关对象覆盖。由于 blk_mq_hw_ctx.tags 和 sched_tags 均为 NULL,当 E

[Android稳定性] 第63篇 EROFS 解压缩页面 Use-After-Free 导致 Kernel Panic 2026-06-01 评论
[Android稳定性] 第63篇 EROFS 解压缩页面 Use-After-Free 导致 Kernel Panic

围绕一次发生在 Qualcomm Ravelin SNP-AN00 平台上的 kernel panic,分析聚焦于 EROFS 压缩文件系统在 LZ4 解压过程中出现的 translation fault。根因是函数 z_erofs_lz4_decompress_partial 通过 __memcpy 访问压缩源页时,源页与目标页已被 page allocator 释放并填充为标准毒化值 dead000000000400,形成典型的 use-after-free。

[开源项目] GitNexus + Claude Code 配置与使用指南 2026-05-06 1 条
[开源项目] GitNexus + Claude Code 配置与使用指南

GitNexus 是一款将代码仓库自动索引为知识图谱的工具,它会追踪项目中的每个依赖、调用链、集群和执行流,并通过 MCP(Model Context Protocol)暴露给 Claude Code,使 AI 代理真正理解代码的全局架构与复杂关系。在实际开发场景中,GitNexus 的核心价值体现在四个方面:让 AI 在分析和修改代码时不再遗漏隐含依赖和调用链;在改动代码前,可以准确评估变更的“爆炸半径”,降低引入潜在 bug 的风险;调试时能沿着调用链快速锁定错误源头,节省排查时间;进行重构和多文件重命名时更安全可控,减少对线上系统的影响。

[linux内存管理] 第046篇 Page Cache脏页回写机制深入分析 2026-04-10 1 条
[linux内存管理] 第046篇 Page Cache脏页回写机制深入分析

围绕 Linux‑6.1 的 Page Cache 脏页回写机制展开,承接上一篇“脏页标记”,完整追踪数据从被修改到落盘的路径。先提炼回写要解决的三大问题:何时触发、由谁执行、如何高效写回;再从历史演进切入,对比早期全局 pdflush/kupdated 与现代按设备划分的 bdi_writeback 框架,重点解析 backing_dev_info、bdi_writeback 等核心结构中与脏页控制、阈值、速率限制和等待队列相关的关键字段。通过源码路径展示回写线程从 bdi_queue_work 被唤醒,到 wb_workfn 轮询任务、wb_do_writeout 扫描 inode 链表并

Linux 内核崩溃分析报告 - AI 2026-03-20 评论
Linux 内核崩溃分析报告 - AI

作者展示了一份由 AI 生成的内核崩溃分析报告,并借此示范如何系统排查数组越界问题。案例中,qteeconnector@1 进程在 smcinvoke_dlkm 模块的 prepare_send_scm_msg() 内触发数据中止异常,原因是结构体中的边界字段被破坏:本应是一个很小的回调计数,却变成了 0x80010001 这种高得离谱的值,导致循环迭代数百万次,最终访问到未映射地址 0xffffff8005700000,引发崩溃。报告详细记录了从初始 bt、查看内核日志、确认模块基址,到对故障函数反汇编、检查结构体内存布局、用地址和寄存器值反证越界过程的完整推理链

AI时代的思考:内核稳定性工程师离失业还有多久? 2026-03-11 3 条
AI时代的思考:内核稳定性工程师离失业还有多久?

当 AI 能读 ramdump、调 crash、自己规划分析路径并输出报告时,内核稳定性工程师并不会被替代,但大量“敲命令、翻日志、整理报告”的重复劳动将被快速重构。作者提出的工具,不是简单封装 crash,而是让 AI 真正进入 ramdump 分析闭环:工程师只需提供标准化输入(vmcore 或分离 DDR dump 的 dump_spec、vmlinux、模块符号、crash 参数),AI 基于 Claude skills 和 MCP 调用 crash-mcp,在受控环境中打开会话、执行命令、解读输出、决定下一步分析动作,并最终按模板生成结构化报告。在这个时代,作为稳定性工程师,我们离失业还剩多久?