Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

net/sched/sch_generic.c __qdisc_run() -> __netif_schedule()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->privdata.buffer_used 0-4294967295
PARAM_VALUE 0 q->privdata.credits s32min-s64max
PARAM_VALUE 0 q->privdata.qdisc->privdata.root.cl_f 0-288230376151711743
PARAM_VALUE 0 q->privdata.qdisc->privdata.watchdog.timer.flags 0-4294967295
PARAM_VALUE 0 q->skb_bad_txq.next 4096-ptr_max
PARAM_VALUE 0 q->skb_bad_txq.prev 4096-ptr_max
PARAM_VALUE 0 q->skb_bad_txq.prev->next->next 4096-ptr_max
DATA_SOURCE 0 q $0
BIT_INFO 0 q->flags 0x0,0xfffffeff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 root_lock
HALF_LOCKED2 0 &q->seqlock

net/sched/sch_generic.c dev_requeue_skb() -> __netif_schedule()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->gso_skb.next 4096-ptr_max
PARAM_VALUE 0 q->gso_skb.prev 4096-ptr_max
PARAM_VALUE 0 q->gso_skb.prev->next->next 4096-ptr_max
DATA_SOURCE 0 q $1
BIT_INFO 0 q->flags 0x0,0xfffffeff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 q->gso_skb.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 q->gso_skb.prev->truesize
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->truesize
HALF_LOCKED2 rcu_read
HALF_LOCKED2 root_lock
HALF_LOCKED2 0 &q->seqlock

net/sched/sch_api.c qdisc_watchdog() -> __netif_schedule()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 irq

net/sched/sch_taprio.c advance_sched() -> __netif_schedule()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->dev_queue 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 irq

net/core/dev.c netif_schedule_queue() -> __netif_schedule()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &bp->lock
HALF_LOCKED2 &cp->lock
HALF_LOCKED2 &cq->lock
HALF_LOCKED2 &dev->bql_spinlock
HALF_LOCKED2 &dev->tx_global_lock
HALF_LOCKED2 &edev->qede_lock
HALF_LOCKED2 &iq->lock
HALF_LOCKED2 &np->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 &q->lock
HALF_LOCKED2 &ring->lock
HALF_LOCKED2 &vp->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 global &rtnl_mutex

net/core/dev.c netif_tx_wake_queue() -> __netif_schedule()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 rcu_read

net/core/dev.c qdisc_run_end() -> __netif_schedule()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->flags 256-u32max
PARAM_VALUE 0 q->seqlock.rlock.dep_map->name 0-255
DATA_SOURCE 0 q $0
BIT_INFO 0 q->flags 0x100,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 q->gso_skb.prev->data_len
NO_OVERFLOW_SIMPLE 0 q->gso_skb.prev->next->data_len
NO_OVERFLOW_SIMPLE 0 q->gso_skb.prev->next->tail
NO_OVERFLOW_SIMPLE 0 q->gso_skb.prev->tail
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->data_len
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->end
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->len
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->next->data_len
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->next->end
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->next->len
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->next->truesize
NO_OVERFLOW_SIMPLE 0 q->skb_bad_txq.prev->truesize
LOCK2 rcu_read
HALF_LOCKED2 root_lock

net/sched/sch_htb.c htb_work_func() -> __netif_schedule()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock