Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/watch_queue.c remove_watch_from_object() -> put_watch()

Type Parameter Key Value
PARAM_VALUE 0 watch 4096-ptr_max
PARAM_VALUE 0 watch->list_node.pprev 0
PARAM_VALUE 0 watch->queue 4096-ptr_max
PARAM_VALUE 0 watch->queue->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 watch->queue->pipe 4096-ptr_max
PARAM_VALUE 0 watch->queue->pipe->ring_size 1-u32max
PARAM_VALUE 0 watch->queue_node->next->pprev 1-u64max
PARAM_VALUE 0 watch->queue_node.pprev 0
PARAM_VALUE 0 watch->watch_list 0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &wqueue->lock
LOCK2 bh
LOCK2 rcu_read
HALF_LOCKED2 &key->sem
TYPE_LOCK (struct watch_queue)->lock

kernel/watch_queue.c remove_watch_from_object() -> put_watch()

Type Parameter Key Value
PARAM_VALUE 0 watch 4096-ptr_max
PARAM_VALUE 0 watch->list_node.pprev 0
PARAM_VALUE 0 watch->queue 4096-ptr_max
PARAM_VALUE 0 watch->queue->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 watch->queue->pipe 0,4096-ptr_max
PARAM_VALUE 0 watch->watch_list 0
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &key->sem

kernel/watch_queue.c watch_queue_clear() -> put_watch()

Type Parameter Key Value
PARAM_VALUE 0 watch 4096-ptr_max
PARAM_VALUE 0 watch->list_node->next->pprev 1-u64max
PARAM_VALUE 0 watch->list_node.pprev 0
PARAM_VALUE 0 watch->queue_node.pprev 0
PARAM_VALUE 0 watch->watch_list 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

kernel/watch_queue.c watch_queue_clear() -> put_watch()

Type Parameter Key Value
PARAM_VALUE 0 watch 4096-ptr_max
PARAM_VALUE 0 watch->queue_node.pprev 0
PARAM_VALUE 0 watch->watch_list 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read