Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/packet/af_packet.c packet_do_bind() -> __unregister_prot_hook()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.owned 1
PARAM_VALUE 0 sk->sk_lock.slock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sk->sk_lock.wq.head.prev 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 1 sync 1
DATA_SOURCE 0 sk $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
UNITS 0 sk unit_byte
LOCK2 &po->bind_lock
LOCK2 0 sk
TYPE_LOCK (struct packet_sock)->bind_lock

net/packet/af_packet.c packet_notifier() -> __unregister_prot_hook()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_dst_cache->dev_rcu->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 1 sync 0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &po->bind_lock
LOCK2 rcu_read
TYPE_LOCK (struct packet_sock)->bind_lock

net/packet/af_packet.c packet_set_ring() -> __unregister_prot_hook()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.owned 1
PARAM_VALUE 0 sk->sk_lock.slock.rlock.dep_map->name 0-255
PARAM_VALUE 0 sk->sk_lock.wq.head.prev 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 sk->sk_lock.wq.head.prev->next->next 4096-ptr_max
PARAM_VALUE 1 sync 0
CAPPED_DATA 0 sk 1
DATA_SOURCE 0 sk $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
UNITS 0 sk unit_byte
LOCK2 &po->bind_lock
LOCK2 0 sk
TYPE_LOCK (struct packet_sock)->bind_lock

net/packet/af_packet.c unregister_prot_hook() -> __unregister_prot_hook()

Type Parameter Key Value
PARAM_VALUE 0 sk 4096-ptr_max
PARAM_VALUE 0 sk->__sk_common.skc_net.net->core.prot_inuse 4096-ptr_max
PARAM_VALUE 0 sk->__sk_common.skc_net.net->packet.sklist_lock.dep_map->name 0-255
PARAM_VALUE 0 sk->__sk_common.skc_net.net->packet.sklist_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 sk->__sk_common.skc_net.net->packet.sklist_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 sk->__sk_common.skc_net.net->packet.sklist_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 sk->__sk_common.skc_node.pprev 0
PARAM_VALUE 0 sk->__sk_common.skc_prot 4096-ptr_max
PARAM_VALUE 1 sync 0
CAPPED_DATA 0 sk->__sk_common.skc_net.net 1
DATA_SOURCE 0 sk $0
DATA_SOURCE 1 sync $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 sk->sk_backlog.len
UNITS 0 sk unit_byte
LOCK2 &po->bind_lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct packet_sock)->bind_lock