Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/ipv6/route.c fib6_nh_exceptions_clean_tohost() -> rt6_remove_exception()

Type Parameter Key Value
PARAM_VALUE 0 bucket 1-u64max
PARAM_VALUE 1 rt6_ex 4096-ptr_max
PARAM_VALUE 1 rt6_ex->rt6i 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 global &rt6_exception_lock
HALF_LOCKED2 &iter->tbl->tb6_lock
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 &table->tb6_lock
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct fib6_table)->tb6_lock

net/ipv6/route.c fib6_nh_flush_exceptions() -> rt6_remove_exception()

Type Parameter Key Value
PARAM_VALUE 0 bucket 2-u64max
PARAM_VALUE 1 rt6_ex 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 global &rt6_exception_lock
HALF_LOCKED2 rcu_read

net/ipv6/route.c fib6_nh_remove_exception() -> rt6_remove_exception()

Type Parameter Key Value
PARAM_VALUE 0 bucket 4096-ptr_max
PARAM_VALUE 1 rt6_ex 4096-ptr_max
DATA_SOURCE 1 rt6_ex r __rt6_find_exception_spinlock
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 global &rt6_exception_lock
HALF_LOCKED2 rcu_read

net/ipv6/route.c rt6_age_examine_exception() -> rt6_remove_exception()

Type Parameter Key Value
PARAM_VALUE 0 bucket 1-u64max
PARAM_VALUE 1 rt6_ex 4096-ptr_max
PARAM_VALUE 1 rt6_ex->rt6i 4096-ptr_max
DATA_SOURCE 0 bucket $0
DATA_SOURCE 1 rt6_ex $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &rt6_exception_lock
LOCK2 rcu_read
HALF_LOCKED2 bh

net/ipv6/route.c rt6_age_examine_exception() -> rt6_remove_exception()

Type Parameter Key Value
PARAM_VALUE 0 bucket 1-u64max
PARAM_VALUE 1 rt6_ex 4096-ptr_max
PARAM_VALUE 1 rt6_ex->rt6i 4096-ptr_max
PARAM_VALUE 1 rt6_ex->rt6i->rt6i_flags 4194304-u32max
DATA_SOURCE 0 bucket $0
DATA_SOURCE 1 rt6_ex $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &rt6_exception_lock
LOCK2 rcu_read
HALF_LOCKED2 bh

net/ipv6/route.c rt6_age_examine_exception() -> rt6_remove_exception()

Type Parameter Key Value
PARAM_VALUE 0 bucket 1-u64max
PARAM_VALUE 1 rt6_ex 4096-ptr_max
PARAM_VALUE 1 rt6_ex->rt6i 4096-ptr_max
PARAM_VALUE 1 rt6_ex->rt6i->rt6i_flags 4194304-u32max
DATA_SOURCE 0 bucket $0
DATA_SOURCE 1 rt6_ex $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &rt6_exception_lock
LOCK2 rcu_read
HALF_LOCKED2 bh

net/ipv6/route.c rt6_exception_remove_oldest() -> rt6_remove_exception()

Type Parameter Key Value
PARAM_VALUE 0 bucket 4096-ptr_max
PARAM_VALUE 0 bucket->chain->first->pprev 1-u64max
PARAM_VALUE 0 bucket->chain.first 4096-ptr_max
PARAM_VALUE 0 bucket->chain.first->pprev 4096-ptr_max
PARAM_VALUE 0 bucket->depth 6-s32max
DATA_SOURCE 0 bucket $0
FUZZY_MAX 0 bucket->depth 6
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 global &rt6_exception_lock
LOCK2 rcu_read

net/ipv6/route.c rt6_insert_exception() -> rt6_remove_exception()

Type Parameter Key Value
PARAM_VALUE 0 bucket 4096-ptr_max
PARAM_VALUE 1 rt6_ex 4096-ptr_max
DATA_SOURCE 1 rt6_ex r __rt6_find_exception_spinlock
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 global &rt6_exception_lock
LOCK2 rcu_read