Defined in 5 files as a macro:

Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

net/core/sock_diag.c gen_cookie_next() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 rcu_read

kernel/trace/trace_irqsoff.c func_prolog_dec() -> local_dec()

Type Parameter Key Value
NOCHECK_CALL

kernel/trace/trace_irqsoff.c irqsoff_graph_entry() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
NOCHECK_CALL

kernel/trace/trace_irqsoff.c irqsoff_graph_return() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
NOCHECK_CALL

kernel/trace/trace_irqsoff.c irqsoff_tracer_call() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
NOCHECK_CALL

kernel/trace/trace_irqsoff.c start_critical_timing() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 1-u64max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/trace/trace_irqsoff.c stop_critical_timing() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/pidfs.c gen_cookie_next() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

block/blk-mq.c bdev_dec_in_flight() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

block/blk-mq.c bdev_dec_in_flight() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/trace/trace_functions.c function_stack_no_repeats_trace_call() -> local_dec()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 flags

kernel/trace/trace_functions.c function_stack_trace_call() -> local_dec()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 flags

kernel/bpf/syscall.c gen_cookie_next() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD
NOCHECK_CALL

kernel/bpf/memalloc.c dec_active() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
NOCHECK_CALL

kernel/bpf/memalloc.c unit_alloc() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 flags

kernel/bpf/memalloc.c unit_free() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
LOCK2 flags

kernel/bpf/memalloc.c unit_free_rcu() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

block/blk-core.c bdev_dec_in_flight() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bdev->bd_queue->queue_lock

block/blk-core.c bdev_dec_in_flight() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bdev->bd_queue->queue_lock

block/blk-merge.c bdev_dec_in_flight() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq

block/blk-merge.c bdev_dec_in_flight() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bfqd->lock
HALF_LOCKED2 &dd->lock
HALF_LOCKED2 irq

kernel/events/core.c list_del_event() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cpuctx->ctx.lock
HALF_LOCKED2 &ctx->lock
HALF_LOCKED2 &event->child_mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct perf_event_context)->lock

kernel/events/core.c perf_pending_task() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
NOCHECK_CALL

kernel/trace/ring_buffer.c rb_decrement_entry() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/trace/ring_buffer.c rb_decrement_entry() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/trace/ring_buffer.c rb_end_commit() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/trace/ring_buffer.c rb_reserve_next_event() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/trace/ring_buffer.c rb_reserve_next_event() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/trace/trace_sched_wakeup.c func_prolog_preempt_disable() -> local_dec()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/trace/trace_sched_wakeup.c probe_wakeup() -> local_dec()

Type Parameter Key Value
NOCHECK_CALL

kernel/trace/trace_sched_wakeup.c probe_wakeup_sched_switch() -> local_dec()

Type Parameter Key Value
NOCHECK_CALL

kernel/trace/trace_sched_wakeup.c wakeup_graph_entry() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/trace/trace_sched_wakeup.c wakeup_graph_return() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

kernel/trace/trace_sched_wakeup.c wakeup_tracer_call() -> local_dec()

Type Parameter Key Value
PARAM_VALUE 0 l 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL