Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

sound/core/control.c snd_ctl_elem_info() -> __snd_ctl_elem_info()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 1 kctl 1-1025,1027-1029,1031-u64max
PARAM_VALUE 2 info 4096-ptr_max
PARAM_VALUE 3 ctl 4096-ptr_max
PARAM_VALUE 3 ctl->card 4096-ptr_max
BUF_SIZE 2 info (-1),272
BUF_SIZE 2 info (-1),272
BUF_SIZE 3 ctl s32min-(-1),1-s32max
BUF_SIZE 3 ctl s32min-(-1),1-s32max
DATA_SOURCE 1 kctl r snd_ctl_find_id
DATA_SOURCE 2 info $1
DATA_SOURCE 3 ctl $0
NOSPEC 2 info->id.index
USER_DATA 2 info->access 0-u32max
USER_DATA 2 info->count 0-u32max
USER_DATA 2 info->id.device 0-u32max
USER_DATA 2 info->id.iface s32min-s32max
USER_DATA 2 info->id.index 0-u32max
USER_DATA 2 info->id.numid 0-u32max
USER_DATA 2 info->id.subdevice 0-u32max
USER_DATA 2 info->owner s32min-s32max
USER_DATA 2 info->type s32min-s32max
USER_DATA 2 info->value.enumerated.item 0-u32max
USER_DATA 2 info->value.enumerated.items 0-u32max
USER_DATA 2 info->value.enumerated.names_length 0-u32max
USER_DATA 2 info->value.enumerated.names_ptr 0-u64max
USER_DATA 2 info->value.integer.max s64min-s64max
USER_DATA 2 info->value.integer.min s64min-s64max
USER_DATA 2 info->value.integer.step s64min-s64max
USER_DATA 2 info->value.integer64.max s64min-s64max
USER_DATA 2 info->value.integer64.min s64min-s64max
USER_DATA 2 info->value.integer64.step s64min-s64max
USER_PTR 2 info->id.name
USER_PTR 2 info->reserved
LOCK2 _T->lock

sound/core/control.c snd_ctl_elem_read() -> __snd_ctl_elem_info()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 1 kctl 4096-ptr_max
PARAM_VALUE 1 kctl->get 1-u64max
PARAM_VALUE 1 kctl->vd 4096-ptr_max
PARAM_VALUE 2 info 8345771933854601216
PARAM_VALUE 3 ctl 0
DATA_SOURCE 0 card $0
DATA_SOURCE 1 kctl r snd_ctl_find_id
MEM_ZERO 2 info
LOCK2 _T->lock

sound/core/control.c snd_ctl_elem_write() -> __snd_ctl_elem_info()

Type Parameter Key Value
PARAM_VALUE 0 card 4096-ptr_max
PARAM_VALUE 0 card->controls_rwsem.dep_map->name 0-255
PARAM_VALUE 0 card->controls_rwsem.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 card->controls_rwsem.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 card->controls_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 card->controls_rwsem.osq.tail.counter 0-s32max
PARAM_VALUE 0 card->controls_rwsem.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 card->controls_rwsem.wait_lock.owner (-1)
PARAM_VALUE 0 card->controls_rwsem.wait_lock.owner_cpu u32max
PARAM_VALUE 1 kctl 4096-ptr_max
PARAM_VALUE 1 kctl->put 1-u64max
PARAM_VALUE 1 kctl->vd 4096-ptr_max
PARAM_VALUE 2 info 6544931442969841664
PARAM_VALUE 3 ctl 0
CAPPED_DATA 0 &card->controls_rwsem 1
DATA_SOURCE 0 card $0
DATA_SOURCE 1 kctl r snd_ctl_find_id
MEM_ZERO 2 info
LOCK2 0 &card->controls_rwsem
TYPE_LOCK (struct snd_card)->controls_rwsem