函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:递减引用计数对象

函数原型:void kobject_put(struct kobject *kobj)

返回类型:void

参数:

类型参数名称
struct kobject *kobj
734  如果kobj
735  如果非state_initializedWARN(1, warning conditions "kobject: '%s' (%p): is not initialized, yet kobject_put() is being called.\n", kobject_name(kobj), kobj)
739  kref_put - decrement refcount for object.*@kref: object.*@release: pointer to the function that will clean up the object when the* last reference to the object is released.* This pointer is required, and it is not acceptable to pass kfree
调用者
名称描述
kobject_add_internal
kobject_renamekobject_rename() - Change the name of an object
kobject_move移动对象
kobject_del解除对象
kobject_create_and_addkobject_create_and_add() - Create a struct kobject dynamically and* register it with sysfs.*@name: the name for the kobject*@parent: the parent kobject of this kobject, if any.* This function creates a kobject structure dynamically and registers it
kset_unregister移除kset
cleanup_setup_data_node
create_setup_data_nodes
boot_params_ksysfs_init
allocate_threshold_blocks
deallocate_threshold_block
threshold_remove_bank
sugov_init
__klp_free_funcs
__klp_free_objects
klp_free_patch_finishThis function implements the free part that must be called outside* klp_mutex.* It must be called after klp_free_patch_start(). And it has to be* the last function accessing the livepatch structures when the patch* gets disabled.
mod_sysfs_teardown
preemptirq_delay_init
preemptirq_delay_exit
padata_freepadata_free - free a padata instance*@padata_inst: padata instance to free
hugetlb_unregister_nodeUnregister hstate attributes from a single node device.* No-op if no hstate attributes attached.
blk_put_queue
blk_register_queuelk_register_queue - register a block layer queue with sysfs*@disk: Disk of which the request queue should be registered with sysfs.
blk_unregister_queuelk_unregister_queue - counterpart of blk_register_queue()*@disk: Disk of which the request queue should be unregistered from sysfs.* Note: the caller is responsible for guaranteeing that this function is called* after blk_register_queue() has finished.
blk_mq_releaseIt is the actual release handler for mq, but we do it from* request queue's release handler for avoiding use-after-free* and headache because q->mq_kobj shouldn't have been introduced,* but we can't group ctx/kctx kobj without it.
blk_mq_alloc_and_init_hctx
blk_mq_ctx_sysfs_release
blk_mq_unregister_dev
blk_mq_sysfs_deinit
__blk_mq_register_dev
blk_mq_init_sched
del_gendisk
put_disk
delete_partitionMust be called either with bd_mutex held, before a disk can be opened or* after all disk users are gone.
add_partitionMust be called either with bd_mutex held, before a disk can be opened or* after all disk users are gone.
dd_init_queuealize elevator private data (deadline_data).
kyber_init_sched
bfq_init_queue
blk_integrity_del
cdev_put
cdev_deldev_del() - remove a cdev from the system*@p: the cdev structure to be removed* cdev_del() removes @p from the system, possibly freeing the structure* itself
cdev_default_release
cdev_dynamic_release
create_setup_data_node
ksysfs_init
kset_put
efivar_unregister
hugetlb_sysfs_add_hstate
__elevator_exit
__register_chrdev__register_chrdev() - create and register a cdev occupying a range of minors*@major: major device number or 0 for dynamic allocation*@baseminor: first of the requested range of minor numbers*@count: the number of minor numbers required*@name: name of this