云栖梦泽
林渡
Blog
  • 首页
  • 我的视界
    • 人世间
      • 世间风声
      • 人间烟火
    • 壹句话
    • 云外光影
      • 动物与植物
      • 美食
      • 生活气息
      • 人物
    • 文章归档
      • 技术分享
      • 视频类型
      • 音频类型
      • 图文类型
      • 图片类型
  • 「内核宇宙」
    • 灵感工坊
      • 灵感风暴
      • 与AI共生
      • 开源项目推荐
    • 底层漫游
      • Android稳定性
      • Linux内存管理
      • Linux进程调度
      • Linux内核
      • ARM体系架构
      • LRDP2
      • 技术分享
  • 璀璨星河
    • 公告
    • 轻言
    • 应用舱
    • 众星
    • 豆瓣
    • 足迹
    • 走心评论
    • 林渡的网盘
  • 留言板
  • 关于
    • 捐赠者名单
    • 关于我
    • 一些声明
      • 站点声明
      • 隐私政策
    • 网站看板
  • 欢迎订阅!

欢迎来到云栖梦泽,为您导读全站动态
  • junlong 6日前前留言 感谢
  • 生辰八字算命 1周前前留言 文章不错支持一下,非常喜欢
  • 免费算命 1周前前留言 文章不错非常喜欢,支持一下
  • 林渡 2周前前留言 没有欸😭,我也想要个稳定性的交流群
  • Hk 2周前前留言 你好,请问有交流群吗?稳定性相关的工程师交流群
  • 林渡 2周前前留言 是的,自主定制自由度高😄
  • 扶苏 2周前前留言 我去。星辰主题还能这么玩啊,大侠那个头部动画真帅气~~~拉风的一笔。。。
  • 林渡 2026-07-20前留言 暂时没有工具开源的打算,大致的实现是通过agent去调用crash工具
  • 一只搬砖攻城狮 2026-07-18前留言 细节看得出来你们环境开了 UBSAN 和 panic on ubsan,这在 Android 项目里还挺少见的,大多数厂商为了性能直接关了。这里如果不开 UBSAN,这个 array index 问题估计会变成各种随机死机。文章里通过 w27/w25 回溯到 current_algo=0 的过程,对刚接触 arm64 反汇编的人很友好。建议后面加一段防御性编程的建议,比如 static u32 改成带默认值的,全局加上 BUILD_BUG_ON 或者在 sysfs 写入前后增加 sanity check。
  • 北城旧梦 2026-07-17前留言 原来是 current_algo 默认没初始化导致的下溢越界,这个坑真隐蔽。平时大家一上来就怀疑是 SELinux permissive 导致的异常,其实根因还是内核模块自己的逻辑问题。你用 AI 去逆向 calltrace、再结合源码给出完整证据链这一点挺佩服的,思路清晰,比单纯看 backtrace 强多了。想问下你们最后是选择在 init 里给 current_algo 赋默认值,还是在访问 comps[algo-1] 前再加一层保护?
2026 年 8 月
日一二三四五六
1
2345678
9101112131415
16171819202122
23242526272829
3031
« 7 月  
最近文章
  • 2026-08-25 SyzForge:把 syzbot 报告锻造成可复现的内核 Bug 调查流水线
  • 2026-08-24 [linux内存管理] 第 057 章节 OOM Kill 与 panic_on_oom —— 杀人的艺术与崩溃的抉择
  • 2026-08-24 [linux内存管理] 第 056 篇 OOM Reaper:异步解除映射的幕后英雄
  • 2026-08-24 [linux内存管理] 第 055 篇 OOM Killer 死亡名单算法
  • 2026-08-19 [linux内存管理] 第 054 篇 OOM触发 + Memory Reserve + out_of_memory 决策
  • 2026-08-14 [linux内存管理] 第 053 篇 OOM 整体流程:从内存耗尽到系统崩溃的完整链路
  • 2026-08-12 LoreMate:给 lore.kernel.org 装上 AI 阅读助手
  • 2026-08-12 AOSP 整机源码 Harness 工程探索
  • 2026-08-06 [linux内存管理] 第 052 篇 shrink_page_list:内存回收的“最后一道关口”
  • 2026-08-04 Monsoon Power Monitor MCP 工具介绍
  • 2026-07-28 [linux内存管理] 第 051 篇 内存回收核心 shrink_node
  • 2026-07-22 [linux内存管理] 第 050 篇 深度分析 direct reclaim 机制
  • 2026-07-20 [linux内存管理] 第 049 篇 深度分析 Linux kswapd 后台回收机制
  • 2026-07-16 [linux内存管理] 第 048 篇 从 alloc_pages() 开始:快慢路径下的内存回收策略
  • 2026-07-15 [linux内存管理] 第 047 篇 Linux 内存回收(Memory Reclaim)总体架构
  • 2026-07-11 [Android稳定性] 第065篇 SELinux 设置为 permissive 模式后出现的 kernel panic
  • 2026-07-03 再看《孩子王》观后感:当AI成为每个人的“字典”之后
  • 2026-06-01 [Android稳定性] 第064篇 blk_mq_tags Use-After-Free 导致系统级 I/O 死锁
  • 2026-06-01 [Android稳定性] 第063篇 EROFS 解压缩页面 Use-After-Free 导致 Kernel Panic
  • 2026-05-06 [开源项目] GitNexus + Claude Code 配置与使用指南
热门文章
  • 2024-11-22 高通android启动代码流程分析(SBL->ABL)
  • 2026-01-29 📢 致读者的一封信:关于运营、初心与一份邀请
  • 2026-05-06 [开源项目] GitNexus + Claude Code 配置与使用指南
  • 2024-12-15 [Android稳定性] 第000篇 Android稳定性系列开篇
  • 2025-08-27 [Android稳定性] 第058篇 [方法篇] 高通平台使用QFIL回读分区
  • 2025-07-21 高通以及MTK平台内核单独编译ko的原理
  • 2026-04-01 AI时代笔记工作流:构建下一代知识管理引擎
  • 2025-09-04 琴棋书画诗酒花与柴米油盐酱醋茶的人生辩证
  • 2025-07-10 [Linux进程调度] 第001篇 一篇文章全面了解Linux进程调度
  • 2026-01-08 【深入内核】中断真的不能睡眠吗?
  • 2025-06-16 [Android稳定性] 第049篇 [问题篇] 软中断霸占CPU导致watchdog无法及时喂狗
  • 2025-06-25 [Android稳定性] 第052篇 [方法篇] HMI项目中如何使用QCAP解析minidump?
  • 2024-12-18 [Android稳定性] 第004篇 [原理篇] minidump的原理介绍
  • 2025-11-03 [linux内存管理] 第000篇 Linux内存管理系列开篇
  • 2025-01-14 [Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程
  • 2025-06-18 [linux内存管理] 第027篇 Linux ARM64 虚拟地址布局
  • 2024-12-15 [Android稳定性] 第001篇 [方法篇] 高通Android平台稳定性分析介绍
  • 2026-03-24 认知加速度:AI时代最残酷的鸿沟,正在此刻拉开
  • 2025-06-09 【深入内核】linux ftrace详解
  • 2024-11-29 [linux内存管理] 第009篇 reserved-memory详解
热门标签
  • 内核线程 1
  • 价值观 1
  • 内核开发 3
  • 生产力工具 1
  • Linux内核 12
  • init进程 1
  • 理想与现实 1
  • 人生态度 1
  • 人生意义 1
  • 精神追求 1
  • 性能优化 1
  • 生活美学 1
  • 内核栈 1
  • 任务优先级 0
  • 反思 1
  • 个人成长 1
  • 时间管理 1
  • 自我认知 1
  • 烟火气 1
  • 任务管理 1
  • Static Keys 1
  • 进程调度 1
  • 动态分支 1
  • 寄存器 1
  • idle进程 1
  • 高效工作 1
  • 页面管理 1
  • minidump 3
  • kmalloc 2
  • 脏页 2
92780° 208 15 289
当您评论及浏览文章且浏览器未禁止COOKIE时,会为您显示最近10条回复及前20篇文章的浏览记录。
在万物之间穿行,也在自我之间渡过。

你好,
我是林渡

    • 2周前

      蟹黄汤包和河豚还得是靖江的好吃! 南通的海鲜也是鲜到眉毛了!

    • 2026-07-20

      看了好久,还是狠心下手了小牛mt sport 2026款,以后可以下班送外卖了 - 。 -

    • 2026-06-15

      想通了,工具是我的,能力是我的,公司只是一段时间的甲方。

    • 2026-06-03

      太痛了😭

    • 查看更多瞬间动态
  • linux内核源码解析03–启动代码分析之主内核页表创建 2024-11-20 评论 林渡
      Linux内存管理
      页表
    linux内核源码解析03–启动代码分析之主内核页表创建

    Linux内核初始化过程中,会依次建立多种页表映射,以支持不同的内存访问需求。这些映射包括恒等映射、粗粒度内核镜像映射、fixmap映射、细粒度内核镜像映射、线性映射以及用户空间页表映射。文章详细解析了细粒度内核镜像映射和线性映射的创建过程,以及内核主页表的建立。此外,还介绍了伙伴系统的初始化,包括bootmem分配器的初始化、sparse内存模型初始化、zone数据结构初始化等。通过这些初始化过程,Linux内核为后续的内存管理和进程调度等操作奠定了基础。

    linux内核源码解析02–启动代码分析之setup_arch详解 2024-11-20 评论 林渡
      Linux内存管理
      fixmapioremap
    linux内核源码解析02–启动代码分析之setup_arch详解

    文章深入解析了 Linux 内核初始化过程中 fixmap 映射的原理与实现,阐述了为什么在内存管理子系统尚未建立时,必须通过固定虚拟地址访问如 dtb 和 IO 设备等关键资源。通过剖析 early_fixmap_init 函数及相关数据结构,揭示了页表分级、地址计算与内核早期资源访问的详细机制,

    高度自定义工具OneMore开发 2024-11-19 1 条 林渡
      技术分享
      onemore
    高度自定义工具OneMore开发

    OneMore是一款受bsptools启发而诞生的自定义集成工具,采用pyqt6+fluent-widgets开发,具有侧边导航栏和标签页界面。目前已实现登录、设置、导航栏、标签页等基础功能,并集成了MTK和高通等多种工具的可视化操作。项目开源,期待共同开发和完善。

    芯片是如何工作的? 2024-11-18 评论 林渡
      技术分享
    芯片是如何工作的?

    晶体管是电子元器件的核心,其原理基于PN结的单向导通性。硅的掺杂可以形成N型和P型半导体,进而构成PN结。通过外加电压,可以控制PN结的导通与截止,实现电流的控制。这一原理是CPU工作的基础。芯片制造包括晶圆制造、氧化、涂覆光刻胶、光刻、显影、蚀刻、离子注入、剥离光刻胶、金属化和抛光等多个步骤,最后进行测试和封装。CPU的计算基于晶体管构成的逻辑门电路,通过组合这些电路实现复杂的计算任务,例如1+1的运算可以通过或门、与门和异或门电路来实现。

    记一次频繁使用spinlock接口函数导致的无法开机问题 2024-11-13 评论 林渡
      技术分享
      spinlock
    记一次频繁使用spinlock接口函数导致的无法开机问题

    一台设备出现无法开机,表现为卡白米。分析发现,设备在启动过程中,因spinlock频繁获取和释放导致CPU资源被占用,无法完成正常操作。检查发现存在嵌套循环,导致CPU长时间被stick占用,无法挂载misc分区,最终引发重启。频繁使用spinlock可能引起性能开销、CPU资源浪费、死锁、优先级反转等问题。

    aarch64异常模型以及Linux arm64中断处理 2024-11-13 评论 林渡
      ARM体系架构
      interruptexception
    aarch64异常模型以及Linux arm64中断处理

    您好,我已经阅读了您提供的文章内容,下面是对文章的100字左右摘要总结: 本文详细介绍了ARM架构中异常的概念和处理流程,涵盖了中断、中止、复位等不同类型的异常,并解释了同步与异步中断的区别。文章还深入剖析了异常处理寄存器的作用,以及AArch64异常向量表的配置和中断处理流程,最后以Linux内核中的中断处理机制为例,展示了从中断触发到最终处理函数的调用过程。

    [Android稳定性] 第043篇 [问题篇] Unable to handle kernel NULL pointer dereference at virtual address 2024-11-12 评论 林渡
      Android稳定性
      KEtrace32空指针
    [Android稳定性] 第043篇 [问题篇] Unable to handle kernel NULL pointer dereference at virtual address

    在测试版本V816.0.24.8.26.UGUCNXM的稳定版挂测中,出现了大量的空指针引用错误。通过离线解析工具分析dump文件,发现问题的核心在于对NULL指针的引用。具体表现为在`mutex_lock`函数中尝试对一个来自`iocb->ki_filp->private_data`的NULL变量加锁,而这个变量是从`struct file`结构体中获取的。进一步检查发现,这与`/proc/hwinfo`节点有关,当尝试读取这个节点时,会导致手机死机。此节点是早期指纹需求所创建,目前已无实际用途,因此解决方案建议移除该节点。

    高通平台Logfs分区Uefilog乱码乱序问题 2024-11-11 评论 林渡
      技术分享
      logfsuefi
    高通平台Logfs分区Uefilog乱码乱序问题

    在UefiLog日志中,C3F2项目存在乱码和日志不全的问题。初步分析,乱码可能是由于初始化的log buffer过大,导致补0打印出来;同时怀疑数据乱序。通过调整XBL log buffer大小、动态分配XBL log buffer等方法进行验证,但问题依旧。进一步分析发现,SBL log buffer初始化过小可能是原因,调整SBL log buffer大小至6KB后,问题得到解决,日志无乱序现象。

    1 … 19 20
  • 简述
    在万物之间穿行,也在自我之间渡过。
    liuqi20328@gmail.com
    生涯
  • 行业嵌入式
  • 职业Linux/Android内核工程师
  • 人生
  • 生活角色浪子、父母的娃、我夫人的老公
  • 社会角色公司职员、中华人民共和国公民
  • 类型
  • 星座 ♊双子座
  • 生肖 🐖猪
  • 血型O
  • 数据
  • 发表文章198篇
  • 发表评论79个
  • 星球加热81525度
  • 最近的心情能量
      愉快 沮丧
    • 😐 不喜不悲 ,当时发表在「linux内核源码解析03–启动代码分析之主内核页表创建」
    • 😐 不喜不悲 ,当时发表在「linux内核源码解析02–启动代码分析之setup_arch详解」
    • 😐 不喜不悲 ,当时发表在「高度自定义工具OneMore开发」
    • 😐 不喜不悲 ,当时发表在「芯片是如何工作的?」
    • 😐 不喜不悲 ,当时发表在「记一次频繁使用spinlock接口函数导致的无法开机问题」
  • 地图数据来源于高德地图
  • intj 建筑师
    intj 建筑师
    • 外向内向
    • 远见现实
    • 理性感受
    • 评判展望
    • 坚决起伏
  • 了解更多信息
今天是云栖梦泽·

2024-11-11

随机阅读「[Android稳定性] 第012篇 [原理篇] blackbox的原理介绍」
阅读 Blackbox 是一种日志管理方案,旨在解决当前日志分析和自动化解析的痛点,如日志分散、时间标准不统一、关键事件记录丢失、RAS 实现自动化分析困难等。Blackbox 将大部分系统日志集中在特定分区,具有时间线的流式日志,可读性更强。它还根据已有经验在系统运行的关键节点打点,提升上市后稳定性问题的定位效率。针对不同的日志,有不同的日志老化删除节奏,从而更多保存异常日志。Blackbox 还提高了 RAS 自动化分析的能力,并可在设备卡死时通过 9008 方式将日志分区 dump 出来并解析,辅助问题分析。
壹行随十人
  • 问心斋
  • 谜叶象限 - 每一片叶子,都是未完成的坐标系
  • 世上云川 - 若有韶月熹微·愿作流萤徂岁
  • 南方嘉木
  • 菲兹克斯喵
  • iSeekLife
  • 秘柯絮语
  • 山海寻川
  • 且听书吟 - 诗与梦想的远方
  • 博客集市
云栖梦泽版权所有 · 架构于Halo及为您增强体验的THYUU/星度主题
苏ICP备2025185582号-1 苏ICP备2025185582号-1 苏公网安备32060102321049号 苏公网安备32060102321049号 BlogsClub BlogsClub 笔墨迹 笔墨迹