Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/misc/ntsync.c ntsync_event_read() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->type 2
BUF_SIZE 1 obj s32min-(-2),1-s32max
BUF_SIZE 1 obj s32min-(-2),1-s32max
DATA_SOURCE 1 obj $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_event_reset() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->type 2
PARAM_VALUE 1 obj->u.event.signaled 0
BUF_SIZE 1 obj s32min-(-2),1-s32max
BUF_SIZE 1 obj s32min-(-2),1-s32max
DATA_SOURCE 1 obj $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_event_set() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->type 2
BUF_SIZE 1 obj s32min-(-2),1-s32max
BUF_SIZE 1 obj s32min-(-2),1-s32max
DATA_SOURCE 1 obj $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_mutex_kill() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->type 1
BUF_SIZE 1 obj s32min-(-2),1-s32max
BUF_SIZE 1 obj s32min-(-2),1-s32max
DATA_SOURCE 1 obj $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_mutex_read() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->type 1
BUF_SIZE 1 obj s32min-(-2),1-s32max
BUF_SIZE 1 obj s32min-(-2),1-s32max
DATA_SOURCE 1 obj $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_mutex_unlock() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->type 1
BUF_SIZE 1 obj s32min-(-2),1-s32max
BUF_SIZE 1 obj s32min-(-2),1-s32max
DATA_SOURCE 1 obj $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_sem_read() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->type 0
BUF_SIZE 1 obj s32min-(-2),1-s32max
BUF_SIZE 1 obj s32min-(-2),1-s32max
DATA_SOURCE 1 obj $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 0 dev unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_sem_release() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->type 0
BUF_SIZE 1 obj s32min-(-2),1-s32max
BUF_SIZE 1 obj s32min-(-2),1-s32max
DATA_SOURCE 1 obj $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 obj->u.sem.count
UNITS 0 dev unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_wait_all() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->wait_all_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dev->wait_all_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->u.event.signaled 0
PARAM_VALUE 1 obj->u.mutex.ownerdead 0
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
CAPPED_DATA 0 &dev->wait_all_lock 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 1 obj unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_wait_all() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->wait_all_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 dev->wait_all_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 dev->wait_all_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
CAPPED_DATA 0 &dev->wait_all_lock 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 1 obj unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_wait_any() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->any_waiters.prev 4096-ptr_max
PARAM_VALUE 1 obj->any_waiters.prev->next 4096-ptr_max
PARAM_VALUE 1 obj->any_waiters.prev->next->next 4096-ptr_max
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 1 obj unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_wait_any() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 obj->u.event.signaled 0
PARAM_VALUE 1 obj->u.mutex.ownerdead 0
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 1 obj unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock

drivers/misc/ntsync.c ntsync_wait_any() -> ntsync_unlock_obj()

Type Parameter Key Value
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->all_hint.counter 0-1
PARAM_VALUE 1 obj->dev_locked 0-1
PARAM_VALUE 1 obj->lock.rlock.dep_map->name 0-255
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
DATA_SOURCE 0 dev $0
DATA_SOURCE 2 all r ntsync_lock_obj
NOCHECK_CALL
UNITS 1 obj unit_byte
HALF_LOCKED2 0 &dev->wait_all_lock