Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slob.c Create Date:2022-07-28 15:36:19
Last Modify:2022-05-20 09:26:42 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:kfree

Proto:void kfree(const void *block)

Type:void

Parameter:

TypeParameterName
const void *block
540  trace_kfree(_RET_IP_, block)
542  If Value for the false possibility is greater at compile time(ZERO_OR_NULL_PTR(block)) Then Return
544  kmemleak_free(block)
546  sp = virt_to_page(kaddr) returns a valid pointer if and only if* virt_addr_valid(kaddr) returns true.(block)
547  If PageSlab(sp) Then
548  align = max_t - return maximum of two values, using the specified type*@type: data type to use*@x: first value*@y: second value(size_t, ARCH_KMALLOC_MINALIGN, Setting ARCH_SLAB_MINALIGN in arch headers allows a different alignment.* Intended for arches that get misalignment faults even for 64 bit integer* aligned buffers.)
549  m = block - align
550  slob_free: entry point into the slob allocator.
551  Else
552  order = compound_order(sp)
553  mod_node_page_state(page_pgdat(sp), NR_SLAB_UNRECLAIMABLE, - (1 << order))
555  __free_pages(sp, order)
Caller
NameDescribe
free_part_info
__reqsk_free
tcp_saved_syn_free
ida_alloc_rangeda_alloc_range() - Allocate an unused ID.*@ida: IDA handle.*@min: Lowest ID to allocate.*@max: Highest ID to allocate.*@gfp: Memory allocation flags.* Allocate an ID between @min and @max, inclusive. The allocated ID will
ida_freeda_free() - Release an allocated ID.*@ida: IDA handle.*@id: Previously allocated ID.* Context: Any context.
ida_destroyda_destroy() - Free all IDs.*@ida: IDA handle.* Calling this function frees all IDs and releases all resources used* by an IDA. When this call returns, the IDA is empty and can be reused* or freed. If the IDA is already empty, there is no need to call this
argv_freeargv_free - free an argv*@argv - the argument vector to be freed* Frees an argv and the strings it points to.
argv_splitargv_split - split a string at whitespace, returning an argv*@gfp: the GFP mask used to allocate memory*@str: the string to be split*@argcp: returned argument count* Returns an array of pointers to strings which are split out from*@str
kobject_action_args
kobject_synth_ueventkobject_synth_uevent - send synthetic uevent with arguments*@kobj: struct kobject for which synthetic uevent is to be generated*@buf: buffer containing action type and action args, newline is ignored*@count: length of buffer* Returns 0 if
kobject_uevent_envkobject_uevent_env - send an uevent with environmental data*@kobj: struct kobject that the action is happening to*@action: action that is happening*@envp_ext: pointer to environmental data* Returns 0 if kobject_uevent_env() is completed with success or the
uevent_net_init
uevent_net_exit
kobject_renamekobject_rename() - Change the name of an object
kobject_movekobject_move() - Move object to another parent.*@kobj: object in question.*@new_parent: object's new parent (can be NULL)
dynamic_kobj_release
kset_release
kset_createkset_create() - Create a struct kset dynamically
kset_create_and_addkset_create_and_add() - Create a struct kset dynamically and add it to sysfs