函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slub.c Create Date:2022-07-27 17:21:03
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:set_freepointer

函数原型:static inline void set_freepointer(struct kmem_cache *s, void *object, void *fp)

返回类型:void

参数:

类型参数名称
struct kmem_cache *s
void *object
void *fp
301  freeptr_addr等于objectFree pointer offset
307  freeptr_addr等于Returns freelist pointer (ptr). With hardening, this is obfuscated* with an XOR of the address where the pointer is held and a per-cache* random number.
调用者
名称描述
slab_free_freelist_hook
allocate_slab
deactivate_slabRemove the cpu slab
__slab_freeSlow path handling. This may still be called frequently since objects* have a longer lifetime than the cpu slabs in most processing loads.* So we still attempt to reduce cache line usage. Just take the slab* lock and free the item
do_slab_freeFastpath with forced inlining to produce a kfree and kmem_cache_free that* can perform fastpath freeing without additional function calls.* The fastpath is only possible if we are freeing to the current cpu slab* of this processor
build_detached_freelistThis function progressively scans the array with free objects (with* a limited look ahead) and extract objects belonging to the same* page. It builds a detached freelist directly within the given* page/objects. This can happen without any need for