Documented in 1 files:

Defined in 1 files as a function:

Referenced in 33 files:

Smatch caller information:

net/rds/tcp_connect.c rds_tcp_conn_path_shutdown() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
HALF_LOCKED2 &pool->lock

net/rds/tcp_connect.c rds_tcp_conn_path_shutdown() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/rds/tcp_connect.c rds_tcp_conn_path_shutdown() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/kcm/kcmsock.c kcm_splice_eof() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/can/dev/rx-offload.c can_rx_offload_irq_finish() -> skb_queue_empty_lockless()

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

drivers/net/can/dev/rx-offload.c can_rx_offload_threaded_irq_finish() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/phy/nxp-c45-tja11xx.c nxp_c45_do_aux_work() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max

drivers/net/phy/nxp-c45-tja11xx.c nxp_c45_do_aux_work() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max

net/core/datagram.c datagram_poll_queue() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/core/datagram.c datagram_poll_queue() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
BUF_SIZE 0 list (-1),96
BUF_SIZE 0 list (-1),96
DATA_SOURCE 0 list $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/core/skbuff.c skb_queue_purge_reason() -> skb_queue_empty_lockless()

Type Parameter Key Value
DATA_SOURCE 0 list $0
RX_PATH
TASK_NOT_RUNNING

net/core/skbuff.c sock_dequeue_err_skb() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
BUF_SIZE 0 list 96
RX_PATH
TASK_NOT_RUNNING

net/tipc/socket.c tipc_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/tipc/socket.c tipc_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/ipv4/tcp.c tcp_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/ipv4/tcp.c tcp_recvmsg() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ppp/ppp_generic.c ppp_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu

io_uring/cmd_net.c io_uring_cmd_timestamp() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
BUF_SIZE 0 list 96
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock

net/core/neighbour.c __neigh_ifdown() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 272374513716818664,4470746977272517352
RX_PATH
TASK_NOT_RUNNING

drivers/net/phy/bcm-phy-ptp.c bcm_ptp_do_aux_work() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max

drivers/net/phy/bcm-phy-ptp.c bcm_ptp_do_aux_work() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max

net/rxrpc/recvmsg.c rxrpc_recvmsg() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rx->sk
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct rxrpc_sock)->sk

net/rxrpc/recvmsg.c rxrpc_recvmsg() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rx->sk
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct rxrpc_sock)->sk

net/rxrpc/recvmsg.c rxrpc_recvmsg() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk

net/rxrpc/recvmsg.c rxrpc_recvmsg() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rx->sk
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct rxrpc_sock)->sk

net/rxrpc/recvmsg.c rxrpc_recvmsg_data() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &call->user_mutex
TYPE_LOCK (struct rxrpc_call)->user_mutex

net/sctp/socket.c sctp_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/sctp/socket.c sctp_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/sctp/socket.c sctp_recvmsg() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireguard/send.c wg_packet_send_keepalive() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &wg->device_update_lock
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/silabs/wfx/queue.c wfx_tx_queue_empty() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/silabs/wfx/queue.c wfx_tx_queue_empty() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/silabs/wfx/queue.c wfx_tx_queue_empty() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

drivers/net/wireless/silabs/wfx/queue.c wfx_tx_queues_has_cab() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &wdev->conf_mutex

net/unix/af_unix.c unix_dgram_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/unix/af_unix.c unix_dgram_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/unix/af_unix.c unix_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/phonet/socket.c pn_socket_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/phonet/socket.c pn_socket_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/vmw_vsock/virtio_transport.c virtio_transport_send_pkt() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 sk

net/mptcp/protocol.c __mptcp_close_subflow() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
LOCK2 sk
HALF_LOCKED2 &pool->lock

net/ipv4/udp.c __skb_recv_udp() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
BUF_SIZE 0 list 96
CAPPED_DATA 0 list 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &queue->lock
LOCK2 bh
HALF_LOCKED2 &transport->recv_mutex
TYPE_LOCK (struct sk_buff_head)->lock

net/ipv4/udp.c __skb_recv_udp() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
BUF_SIZE 0 list 96
CAPPED_DATA 0 list 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &transport->recv_mutex

net/ipv4/udp.c first_packet_length() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
BUF_SIZE 0 list 96
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rcvq->lock
LOCK2 bh
TYPE_LOCK (struct sk_buff_head)->lock

net/ipv4/udp.c udp_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/tls/tls_main.c tls_sk_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/vmw_vsock/af_vsock.c vsock_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/vmw_vsock/af_vsock.c vsock_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/core/sock.c sk_busy_loop_end() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max

net/core/sock.c sk_busy_loop_end() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max

net/bluetooth/af_bluetooth.c bt_sock_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/bluetooth/af_bluetooth.c bt_sock_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

drivers/nvme/host/tcp.c nvme_tcp_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->uring_lock

net/ipv4/tcp_bpf.c tcp_msg_wait_data() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

net/ipv4/tcp_bpf.c tcp_msg_wait_data() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 sk

drivers/net/wireless/silabs/wfx/sta.c wfx_stop() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

net/nfc/llcp_sock.c llcp_sock_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/nfc/llcp_sock.c llcp_sock_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/rds/tcp_recv.c rds_tcp_read_sock() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
HALF_LOCKED2 &sk->sk_callback_lock
HALF_LOCKED2 bh
HALF_LOCKED2 sock->sk

net/core/dev.c flush_required() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sd->input_pkt_queue.lock
LOCK2 irq
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 global &flush_backlogs_mutex
HALF_LOCKED2 global &ovs_mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct sk_buff_head)->lock

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
TASK_NOT_RUNNING

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
TASK_NOT_RUNNING

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
TASK_NOT_RUNNING

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
PARAM_VALUE 0 list->next 4096-ptr_max
TASK_NOT_RUNNING

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
TASK_NOT_RUNNING

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
TASK_NOT_RUNNING

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
TASK_NOT_RUNNING

net/netfilter/ipvs/ip_vs_sync.c sync_thread_backup() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
TASK_NOT_RUNNING

net/atm/common.c vcc_poll() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

net/netlink/af_netlink.c netlink_rcv_wake() -> skb_queue_empty_lockless()

Type Parameter Key Value
PARAM_VALUE 0 list 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vq->mutex