slab: fix clearing freelist in free_deferred_objects()
defer_free() links pending objects using the slab's freelist offset which is fine as they are not free yet. free_deferred_objects() then clears this pointer to avoid confusing the debugging consistency checks that may be enabled for the cache. However, with CONFIG_SLAB_FREELIST_HARDENED, even the NULL pointer needs to be encoded appropriately using set_freepointer(), otherwise it's decoded as something else and triggers the consistency checks, as found by the kernel test robot. Use set_freepointer() to prevent the issue. Fixes: af92793e ("slab: Introduce kmalloc_nolock() and kfree_nolock().") Reported-and-tested-by:kernel test robot <oliver.sang@intel.com> Closes: https://lore.kernel.org/oe-lkp/202510101652.7921fdc6-lkp@intel.com Acked-by:
Alexei Starovoitov <ast@kernel.org> Reviewed-by:
Harry Yoo <harry.yoo@oracle.com> Signed-off-by:
Vlastimil Babka <vbabka@suse.cz>
Loading
Please sign in to comment