Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

fs/char_dev.c cdev_get() -> kobject_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 kobj 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 domain->lock
HALF_LOCKED2 global &cdev_lock

drivers/block/ublk_drv.c ublk_get_device() -> kobject_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 kobj 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ub->mutex
HALF_LOCKED2 global &ublk_idr_lock

block/bdev.c blkdev_get_no_open() -> kobject_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 kobj 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex

block/genhd.c blk_report_disk_dead() -> kobject_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 kobj 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &of->mutex

block/genhd.c disk_uevent() -> kobject_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 kobj 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &ctrl->srcu

lib/kobject.c kset_find_obj() -> kobject_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 kobj 4096-ptr_max
PARAM_VALUE 0 kobj->name 1-u64max
CAPPED_DATA 0 &kobj->entry 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &kset->list_lock
HALF_LOCKED2 global &bioscfg_drv.mutex
HALF_LOCKED2 global &pci_slot_mutex
HALF_LOCKED2 global &wmi_priv.mutex
TYPE_LOCK (struct kset)->list_lock