v4
2026-11-02
修复vmalloc_dump_obj查找 · v4
修复 vmalloc_dump_obj 首页对齐越界和跨 vmap zone 查找遗漏,避免漏报 vmalloc 分配。
原始补丁链接
子 Patch(2)
1/2
mm/vmalloc: fix vmalloc_dump_obj address alignment for last-page lookups
vmalloc_dump_obj() 用 PAGE_ALIGN() 向上取整会把最后一页地址推到 va_end 之外,使 __find_vmap_area() 查不到、退化为 vmalloc memory,跨 vmap zone 时 addr_to_node() 还会命中错节点;改用 PAGE_ALIGN_DOWN()。
2/2
mm/vmalloc: fix vmalloc_dump_obj cross-zone VA lookup
vmalloc_dump_obj() 只查 addr_to_node(addr) 一个节点,而 VA 仅挂在 addr_to_node(va_start) 的 rb-tree,超过 vmap_zone_size 的分配会查漏;抽出 find_vmap_area_lock() 复用跨节点遍历,并支持 spin_trylock 供 OOM/KASAN 原子上下文使用。