Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

drivers/char/tpm/tpm-dev-common.c tpm_common_write() -> tpm_try_get_ops()

Type Parameter Key Value
LOCK2 &priv->buffer_mutex
TYPE_LOCK (struct file_priv)->buffer_mutex

drivers/char/tpm/tpm-dev-common.c tpm_dev_async_work() -> tpm_try_get_ops()

Type Parameter Key Value
LOCK2 &priv->buffer_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct file_priv)->buffer_mutex

drivers/char/tpm/tpm-chip.c tpm_chip_unregister() -> tpm_try_get_ops()

Type Parameter Key Value
PARAM_VALUE 0 chip->dev.dma_io_tlb_mem->debugfs 0-s64max
PARAM_VALUE 0 chip->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 chip->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 chip->devs.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 chip->ops->clk_enable 0,8238000303417774080
PARAM_VALUE 0 chip->ops->cmd_ready 0,2020414352265490432
PARAM_VALUE 0 chip->ops->flags 0-1
PARAM_VALUE 0 chip->ops->go_idle 0,4096-ptr_max
BUF_SIZE 0 chip s32min-(-1),1-s32max
BUF_SIZE 0 chip s32min-(-1),1-s32max
BUF_SIZE 0 chip->ops (-1),104
DATA_SOURCE 0 chip $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 chip->cdev.kobj.parent->kref.refcount.refs.counter s32min-s32max
HOST_DATA 0 chip->cdevs.kobj.parent->kref.refcount.refs.counter s32min-s32max
HOST_DATA 0 chip->hwrng->priv 0-u64max
HOST_DATA 0 *chip->log->bios_event_log 0-255
NO_OVERFLOW_SIMPLE 0 chip->ascii_log_seqops.chip->nr_commands
NO_OVERFLOW_SIMPLE 0 chip->bin_log_seqops.chip->nr_commands
NO_OVERFLOW_SIMPLE 0 chip->cdev.count
NO_OVERFLOW_SIMPLE 0 chip->cdevs.count
NO_OVERFLOW_SIMPLE 0 chip->nr_commands
UNITS 0 chip unit_byte
HALF_LOCKED2 &_dev->mutex
HALF_LOCKED2 &dev->mutex

drivers/char/tpm/tpm-interface.c tpm_get_random() -> tpm_try_get_ops()

Type Parameter Key Value
PARAM_VALUE 0 chip 1-u64max
DATA_SOURCE 0 chip $0
RX_PATH
TASK_NOT_RUNNING

drivers/char/tpm/tpm-interface.c tpm_is_tpm2() -> tpm_try_get_ops()

Type Parameter Key Value
PARAM_VALUE 0 chip 1-u64max
DATA_SOURCE 0 chip $0

drivers/char/tpm/tpm-interface.c tpm_pcr_extend() -> tpm_try_get_ops()

Type Parameter Key Value
PARAM_VALUE 0 chip 1-u64max
DATA_SOURCE 0 chip $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &ima_extend_list_mutex

drivers/char/tpm/tpm-interface.c tpm_pcr_read() -> tpm_try_get_ops()

Type Parameter Key Value
PARAM_VALUE 0 chip 1-u64max
DATA_SOURCE 0 chip $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex

drivers/char/tpm/tpm-interface.c tpm_pm_suspend() -> tpm_try_get_ops()

Type Parameter Key Value
PARAM_VALUE 0 chip 1-u64max
BUF_SIZE 0 chip s32min-(-2),1-s32max
BUF_SIZE 0 chip s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 chip unit_byte

security/keys/trusted-keys/trusted_tpm1.c trusted_tpm_send() -> tpm_try_get_ops()

Type Parameter Key Value
PARAM_VALUE 0 chip 1-u64max

security/keys/trusted-keys/trusted_tpm2.c tpm2_seal_trusted() -> tpm_try_get_ops()

Type Parameter Key Value
PARAM_VALUE 0 chip 4096-ptr_max
PARAM_VALUE 0 chip->dev.driver_data->locality_count 0-4294967295
PARAM_VALUE 0 chip->dev.driver_data->tpm_ready->wait.lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 chip->dev.driver_data->tpm_ready.done 0
PARAM_VALUE 0 chip->dev.driver_data->tpm_ready.wait.lock.owner (-1)
PARAM_VALUE 0 chip->dev.driver_data->tpm_ready.wait.lock.owner_cpu 4294967295
PARAM_VALUE 0 chip->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 chip->dev.kobj.release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 chip->ops->cmd_ready 0,4096-ptr_max
PARAM_VALUE 0 chip->ops->go_idle 0,4096-ptr_max
PARAM_VALUE 0 chip->ops_sem.dep_map->name 0-255
PARAM_VALUE 0 chip->ops_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 chip->ops_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 chip->ops_sem.first_waiter->type 0-1
PARAM_VALUE 0 chip->tpm_mutex.dep_map->name 0-255
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter 0-s32max
DATA_SOURCE 0 chip $0

security/keys/trusted-keys/trusted_tpm2.c tpm2_unseal_trusted() -> tpm_try_get_ops()

Type Parameter Key Value
PARAM_VALUE 0 chip 4096-ptr_max
PARAM_VALUE 0 chip->dev.driver_data->locality_count 0-4294967295
PARAM_VALUE 0 chip->dev.driver_data->tpm_ready->wait.lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 chip->dev.driver_data->tpm_ready.done 0
PARAM_VALUE 0 chip->dev.driver_data->tpm_ready.wait.lock.owner (-1)
PARAM_VALUE 0 chip->dev.driver_data->tpm_ready.wait.lock.owner_cpu 4294967295
PARAM_VALUE 0 chip->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 chip->dev.kobj.release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 chip->ops->cmd_ready 0,4096-ptr_max
PARAM_VALUE 0 chip->ops->go_idle 0,4096-ptr_max
PARAM_VALUE 0 chip->ops_sem.dep_map->name 0-255
PARAM_VALUE 0 chip->ops_sem.first_waiter->handoff_set 1
PARAM_VALUE 0 chip->ops_sem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 chip->ops_sem.first_waiter->type 0-1
PARAM_VALUE 0 chip->tpm_mutex.dep_map->name 0-255
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 chip->tpm_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter 0-s32max
DATA_SOURCE 0 chip $0

drivers/char/tpm/tpm-sysfs.c active_show() -> tpm_try_get_ops()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/char/tpm/tpm-sysfs.c cancel_store() -> tpm_try_get_ops()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/char/tpm/tpm-sysfs.c caps_show() -> tpm_try_get_ops()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/char/tpm/tpm-sysfs.c enabled_show() -> tpm_try_get_ops()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/char/tpm/tpm-sysfs.c owned_show() -> tpm_try_get_ops()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/char/tpm/tpm-sysfs.c pcrs_show() -> tpm_try_get_ops()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/char/tpm/tpm-sysfs.c pubek_show() -> tpm_try_get_ops()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/char/tpm/tpm-sysfs.c temp_deactivated_show() -> tpm_try_get_ops()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/char/tpm/tpm2-space.c tpm2_del_space() -> tpm_try_get_ops()

Type Parameter Key Value
DATA_SOURCE 0 chip $0
RX_PATH
TASK_NOT_RUNNING