Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/time/hrtimer.c __run_hrtimer() -> __remove_hrtimer()

Type Parameter Key Value
PARAM_VALUE 0 timer 4096-ptr_max
PARAM_VALUE 1 base 4096-ptr_max
PARAM_VALUE 1 base->running 4096-ptr_max
PARAM_VALUE 2 newstate 0
PARAM_VALUE 3 reprogram 0
CAPPED_DATA 0 timer 1
DATA_SOURCE 0 timer $2
DATA_SOURCE 1 base $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cpu_base->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct hrtimer_cpu_base)->lock

kernel/time/hrtimer.c hrtimer_check_user_timer() -> __remove_hrtimer()

Type Parameter Key Value
PARAM_VALUE 0 timer 4096-ptr_max
PARAM_VALUE 0 timer->base 4096-ptr_max
PARAM_VALUE 0 timer->base->active.rb_root.rb_leftmost->node.__rb_parent_color 1
PARAM_VALUE 0 timer->base->active.rb_root.rb_leftmost->node.rb_left 4096-ptr_max
PARAM_VALUE 0 timer->base->active.rb_root.rb_leftmost->node.rb_right 4096-ptr_max
PARAM_VALUE 0 timer->base->active.rb_root.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 timer->base->cpu_base 4096-ptr_max
PARAM_VALUE 1 base 4096-ptr_max
PARAM_VALUE 1 base->active.rb_root.rb_leftmost->node.__rb_parent_color 1
PARAM_VALUE 1 base->active.rb_root.rb_leftmost->node.rb_left 4096-ptr_max
PARAM_VALUE 1 base->active.rb_root.rb_leftmost->node.rb_right 4096-ptr_max
PARAM_VALUE 1 base->active.rb_root.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 1 base->cpu_base 4096-ptr_max
PARAM_VALUE 2 newstate 0
PARAM_VALUE 3 reprogram 0
CAPPED_DATA 0 timer 1
DATA_SOURCE 0 timer $0
NOSPEC 0 timer->_softexpires
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 timer->_softexpires s64min-s64max
LOCK2 &timer->base->cpu_base->lock
LOCK2 flags
HALF_LOCKED2 &base->lock
HALF_LOCKED2 &ctx->wqh.lock
HALF_LOCKED2 irq
TYPE_LOCK (struct hrtimer_cpu_base)->lock

kernel/time/hrtimer.c migrate_hrtimer_list() -> __remove_hrtimer()

Type Parameter Key Value
PARAM_VALUE 0 timer 4096-ptr_max
PARAM_VALUE 0 timer->base 4096-ptr_max
PARAM_VALUE 1 base 4096-ptr_max
PARAM_VALUE 1 base->active.rb_root.rb_leftmost 1-u64max
PARAM_VALUE 1 base->cpu_base->expires_next 0-s64max
PARAM_VALUE 2 newstate 1
PARAM_VALUE 3 reprogram 0
CAPPED_DATA 0 timer 1
DATA_SOURCE 1 base $0
PARAM_COMPARE 0 timer != $0->base->running
PARAM_COMPARE 0 timer != $0->base->running
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &new_base->lock
LOCK2 &old_base->lock
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct hrtimer_cpu_base)->lock

kernel/time/hrtimer.c remove_hrtimer() -> __remove_hrtimer()

Type Parameter Key Value
PARAM_VALUE 0 timer 4096-ptr_max
PARAM_VALUE 0 timer->base 4096-ptr_max
PARAM_VALUE 0 timer->base->cpu_base 4096-ptr_max
PARAM_VALUE 0 timer->is_queued 1
PARAM_VALUE 1 base 4096-ptr_max
PARAM_VALUE 1 base->cpu_base 4096-ptr_max
PARAM_VALUE 1 base->cpu_base->lock.dep_map->name 0-255
PARAM_VALUE 1 base->cpu_base->lock.owner_cpu 0
PARAM_VALUE 1 base->cpu_base->lock.raw_lock.val.counter 0-s32max
BUF_SIZE 0 timer (-1),80
BUF_SIZE 0 timer (-1),80
CAPPED_DATA 0 timer 1
CAPPED_DATA 0 timer->base 1
CAPPED_DATA 1 base 1
CAPPED_DATA 1 base->cpu_base 1
DATA_SOURCE 0 timer $0
DATA_SOURCE 1 base $1
DATA_SOURCE 2 newstate $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 timer->_softexpires s64min-s64max
HOST_DATA 0 timer->is_hard 0-1
HOST_DATA 0 timer->is_lazy 0-1
HOST_DATA 0 timer->is_queued 1
HOST_DATA 0 timer->is_rel 0-1
HOST_DATA 0 timer->is_soft 0-1
HOST_DATA 0 timer->node.expires s64min-s64max
HOST_DATA 0 timer->node.node.node.__rb_parent_color 1
USER_DATA 0 timer->_softexpires s64min-s64max
LOCK2 &timer->base->cpu_base->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct hrtimer_cpu_base)->lock