Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/proc/base.c show_timer() -> posixtimer_valid()

Type Parameter Key Value
PARAM_VALUE 0 timer 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 irq
LOCK2 0 &timer->it_lock
TYPE_LOCK (struct k_itimer)->it_lock
TYPE_LOCK (struct seq_file)->lock

kernel/time/posix-timers.c __posixtimer_deliver_signal() -> posixtimer_valid()

Type Parameter Key Value
PARAM_VALUE 0 timer 4096-ptr_max
CAPPED_DATA 0 timer->it_signal_seq 1
CAPPED_DATA 0 timer->it_sigqueue_seq 1
DATA_SOURCE 0 timer $1
PARAM_COMPARE 0 timer->it_signal_seq == $0->it_sigqueue_seq
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 0 &timer->it_lock
HALF_LOCKED2 &sighand->siglock
HALF_LOCKED2 &task->sighand->siglock
HALF_LOCKED2 &tsk->sighand->siglock
TYPE_LOCK (struct k_itimer)->it_lock

kernel/time/posix-timers.c posix_timer_queue_signal() -> posixtimer_valid()

Type Parameter Key Value
PARAM_VALUE 0 timer 4096-ptr_max
DATA_SOURCE 0 timer $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 timer->it.alarm.alarmtimer.node.expires 0-9223372035999999999[c]
USER_DATA 0 timer->it.alarm.alarmtimer.timer.node.expires 0-9223372035999999999[c]
USER_DATA 0 timer->it_clock s32min-23
USER_DATA 0 timer->it_id 0-s32max[c]
USER_DATA 0 timer->it_interval 0-9223372035999999999[c]
HALF_LOCKED2 irq
HALF_LOCKED2 0 &timer->it_lock

kernel/signal.c posixtimer_sig_ignore() -> posixtimer_valid()

Type Parameter Key Value
PARAM_VALUE 0 timer 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read