函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slab.c Create Date:2022-07-27 17:19:52
Last Modify:2022-05-23 17:02:55 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:kmem_cache_free - Deallocate an object*@cachep: The cache the allocation was from.*@objp: The previously allocated object.* Free an object which was previously allocated from this* cache.

函数原型:void kmem_cache_free(struct kmem_cache *cachep, void *objp)

返回类型:void

参数:

类型参数名称
struct kmem_cache *cachep
void *objp
3734  cachep等于cache_from_obj(cachep, objp)
3735  如果非cachep则返回
3738  local_irq_save(flags)
3739  Called when kernel memory is freed (or unmapped), or if a lock* is destroyed or reinitialized - this code checks whether there is* any held lock in the memory range of to :
3740  如果非Used for retrieving partial slabs, etc. 按位与SLAB_DEBUG_OBJECTS的值则debug_check_no_obj_freed(objp, The size of an object without metadata )
3742  Release an obj back to its cache. If the obj has a constructed state, it must* be in this state _before_ it is released. Called with disabled ints.
3743  local_irq_restore(flags)
3745  trace_kmem_cache_free(_RET_IP_, objp)
调用者
名称描述
alloc_posix_timer
k_itimer_rcu_free
clone_uts_nsClone a new ns copying an original utsname, setting refcount to 1*@old_ns: namespace to clone* Return ERR_PTR(-ENOMEM) on error (failure to allocate), new ns otherwise
free_uts_ns
create_user_nsCreate a new user namespace, deriving the creator from the user in the* passed credentials, and replacing that user with the new root user for the* new namespace.* This is called by copy_creds(), which will finish setting the target task's* credentials.
free_user_ns
create_pid_namespace
delayed_free_pidns
audit_buffer_free
audit_tree_destroy_watch
taskstats_tgid_alloc
trace_destroy_fields
remove_event_file_dir