v2
2026-07-10
slab释放路径递归修复 · v2
修复slab释放路径中因memalloc profiling导致的无界递归问题,通过解耦标志和避免自递归分配。
本次提交拆成 3 个子 patch:mm/slab: fix a memory leak due to bootstrapping sheaves twice、mm/slab: decouple SLAB_NO_SHEAVES from SLAB_NO_OBJ_EXT、mm/slab: prevent unbounded recursion in free path with new kmalloc type。
原始补丁链接
子 Patch(3)
1/3原始邮件 ↗
mm/slab: fix a memory leak due to bootstrapping sheaves twice
修复kmalloc缓存别名时引导sheave两次导致的内存泄漏,确保每个缓存只初始化一次。
2/3原始邮件 ↗
mm/slab: decouple SLAB_NO_SHEAVES from SLAB_NO_OBJ_EXT
将SLAB_NO_SHEAVES与SLAB_NO_OBJ_EXT解耦,允许在启用obj_ext时禁用sheaves。
3/3原始邮件 ↗
mm/slab: prevent unbounded recursion in free path with new kmalloc type
防止新kmalloc类型在释放路径中导致无界递归,通过避免从自身slab分配obj_ext数组。