Defined in 1 files as a prototype:
Defined in 2 files as a function:
- net/xfrm/xfrm_state.c, line 1895 (as a function)
- tools/testing/selftests/net/ipsec.c, line 919 (as a function)
Referenced in 4 files:
- net/key/af_key.c, line 1527
- net/xfrm/xfrm_state.c
- net/xfrm/xfrm_user.c, line 1058
- tools/testing/selftests/net/ipsec.c
Smatch caller information:
net/key/af_key.c pfkey_add() -> xfrm_state_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | x | 4096-ptr_max |
| PARAM_VALUE | 0 | x->bydst.next | 0 |
| PARAM_VALUE | 0 | x->bydst.pprev | 0 |
| PARAM_VALUE | 0 | x->byseq.next | 0 |
| PARAM_VALUE | 0 | x->byseq.pprev | 0 |
| PARAM_VALUE | 0 | x->byspi.next | 0 |
| PARAM_VALUE | 0 | x->byspi.pprev | 0 |
| PARAM_VALUE | 0 | x->bysrc.next | 0 |
| PARAM_VALUE | 0 | x->bysrc.pprev | 0 |
| PARAM_VALUE | 0 | x->data | 4096-ptr_max |
| PARAM_VALUE | 0 | x->id.proto | 50-51,108 |
| PARAM_VALUE | 0 | x->inner_mode.family | 2,10 |
| PARAM_VALUE | 0 | x->inner_mode_iaf.family | 2,10 |
| PARAM_VALUE | 0 | x->inner_mode_iaf.flags | 1-255 |
| PARAM_VALUE | 0 | x->km.all.next | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.state | 2 |
| PARAM_VALUE | 0 | x->lft.hard_byte_limit | 1-u64max |
| PARAM_VALUE | 0 | x->lft.hard_packet_limit | 1-u32max,u64max |
| PARAM_VALUE | 0 | x->lft.soft_byte_limit | 1-u64max |
| PARAM_VALUE | 0 | x->lft.soft_packet_limit | 1-u32max,u64max |
| PARAM_VALUE | 0 | x->mode_cbs | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->mode_cbs->init_state | 894039719160782848 |
| PARAM_VALUE | 0 | x->mode_cbs->owner | 0 |
| PARAM_VALUE | 0 | x->mode_cbs->owner->refcnt.counter | 0-s32max |
| PARAM_VALUE | 0 | x->mode_cbs->owner->state | 0-1,3-u32max |
| PARAM_VALUE | 0 | x->mode_data | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->mtimer._softexpires | 0 |
| PARAM_VALUE | 0 | x->mtimer.base | 4096-ptr_max |
| PARAM_VALUE | 0 | x->mtimer.function | 1-u64max |
| PARAM_VALUE | 0 | x->mtimer.is_hard | 0 |
| PARAM_VALUE | 0 | x->mtimer.is_lazy | 0 |
| PARAM_VALUE | 0 | x->mtimer.is_queued | 0 |
| PARAM_VALUE | 0 | x->mtimer.is_rel | 0 |
| PARAM_VALUE | 0 | x->mtimer.is_soft | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.expires | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.next | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.node.__rb_parent_color | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.node.rb_left | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.node.rb_right | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.prev | 0 |
| PARAM_VALUE | 0 | x->outer_mode.family | 2,10 |
| PARAM_VALUE | 0 | x->pcpu_num | u32max |
| PARAM_VALUE | 0 | x->props.enc_hdr_len | 4 |
| PARAM_VALUE | 0 | x->props.family | 0,2,10 |
| PARAM_VALUE | 0 | x->props.mode | 0-5 |
| PARAM_VALUE | 0 | x->props.replay_window | 0-32 |
| PARAM_VALUE | 0 | x->repl_mode | 0-2 |
| PARAM_VALUE | 0 | x->replay_esn | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->replay_maxage | 0 |
| PARAM_VALUE | 0 | x->replay_maxdiff | 0 |
| PARAM_VALUE | 0 | x->rtimer.entry.pprev | 0 |
| PARAM_VALUE | 0 | x->rtimer.flags | 0-4194302 |
| PARAM_VALUE | 0 | x->rtimer.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | x->sel.family | 0,2,10 |
| PARAM_VALUE | 0 | x->state_cache.next | 0 |
| PARAM_VALUE | 0 | x->state_cache.pprev | 0 |
| PARAM_VALUE | 0 | x->tunnel | 4096-ptr_max |
| PARAM_VALUE | 0 | x->tunnel_users.counter | 0 |
| PARAM_VALUE | 0 | x->type | 4096-ptr_max |
| PARAM_VALUE | 0 | x->type->owner | 0 |
| PARAM_VALUE | 0 | x->type->owner->refcnt.counter | 0-s32max |
| PARAM_VALUE | 0 | *x->aalg->alg_key | 0-255 |
| CAPPED_DATA | 0 | x->outer_mode.family | 1 |
| CAPPED_DATA | 0 | x->props.replay_window | 1 |
| DATA_SOURCE | 0 | x | r pfkey_msg2xfrm_state |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | x->km.seq | 0-u32max[u] |
| LOCK2 | &net->xfrm.xfrm_cfg_mutex | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | sk | ||
| TYPE_LOCK | (struct netns_xfrm)->xfrm_cfg_mutex |
net/xfrm/xfrm_state.c xfrm_state_migrate_install() -> xfrm_state_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | x | 4096-ptr_max |
| PARAM_VALUE | 0 | x->bydst.next | 0 |
| PARAM_VALUE | 0 | x->bydst.pprev | 0 |
| PARAM_VALUE | 0 | x->byseq.next | 0 |
| PARAM_VALUE | 0 | x->byseq.pprev | 0 |
| PARAM_VALUE | 0 | x->byspi.next | 0 |
| PARAM_VALUE | 0 | x->byspi.pprev | 0 |
| PARAM_VALUE | 0 | x->bysrc.next | 0 |
| PARAM_VALUE | 0 | x->bysrc.pprev | 0 |
| PARAM_VALUE | 0 | x->data | 0-ptr_max |
| PARAM_VALUE | 0 | x->inner_mode.family | 2,10 |
| PARAM_VALUE | 0 | x->inner_mode_iaf.family | 2,10 |
| PARAM_VALUE | 0 | x->inner_mode_iaf.flags | 1-255 |
| PARAM_VALUE | 0 | x->km.all.next | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | x->mode_cbs->clone_state | 7975205731614285824 |
| PARAM_VALUE | 0 | x->mode_cbs->init_state | 894039719160782848 |
| PARAM_VALUE | 0 | x->mode_cbs->owner | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->mode_cbs->owner->refcnt.counter | 0-s32max |
| PARAM_VALUE | 0 | x->mode_cbs->owner->state | 0-1,3-u32max |
| PARAM_VALUE | 0 | x->mode_data | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->mtimer._softexpires | 0 |
| PARAM_VALUE | 0 | x->mtimer.base | 4096-ptr_max |
| PARAM_VALUE | 0 | x->mtimer.function | 1-u64max |
| PARAM_VALUE | 0 | x->mtimer.is_queued | 0 |
| PARAM_VALUE | 0 | x->mtimer.is_rel | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.expires | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.next | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.node.__rb_parent_color | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.node.rb_left | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.node.rb_right | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.prev | 0 |
| PARAM_VALUE | 0 | x->new_mapping | 0 |
| PARAM_VALUE | 0 | x->new_mapping_sport | 0 |
| PARAM_VALUE | 0 | x->outer_mode.family | 2,10 |
| PARAM_VALUE | 0 | x->refcnt.refs.counter | 1 |
| PARAM_VALUE | 0 | x->rtimer.entry.pprev | 0 |
| PARAM_VALUE | 0 | x->rtimer.flags | 0-4194302 |
| PARAM_VALUE | 0 | x->rtimer.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | x->state_cache.next | 0 |
| PARAM_VALUE | 0 | x->state_cache.pprev | 0 |
| PARAM_VALUE | 0 | x->tunnel | 4096-ptr_max |
| PARAM_VALUE | 0 | x->tunnel_users.counter | 0 |
| PARAM_VALUE | 0 | x->type | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->type->owner | 0 |
| PARAM_VALUE | 0 | x->type->owner->refcnt.counter | 0-s32max |
| PARAM_VALUE | 0 | x->xso.dev_tracker->alloc_stack_handle | 0-4294967295 |
| PARAM_VALUE | 0 | x->xso.dev_tracker->dead | 0-1 |
| PARAM_VALUE | 0 | x->xso.dev_tracker->free_stack_handle | 0-4294967295 |
| PARAM_VALUE | 0 | *x->aalg->alg_key | 0-255 |
| CAPPED_DATA | 0 | x->id.proto | 1 |
| DATA_SOURCE | 0 | x | $1 |
| NOSPEC | 0 | x->inner_mode.family | |
| NOSPEC | 0 | x->outer_mode.family | |
| NOSPEC | 0 | x->props.family | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | x->id.daddr.a4 | 0-u32max |
| USER_DATA | 0 | x->inner_mode.family | 2,10 |
| USER_DATA | 0 | x->mark.m | 0-u32max |
| USER_DATA | 0 | x->mark.v | 0-u32max |
| USER_DATA | 0 | x->outer_mode.family | 10[c] |
| USER_DATA | 0 | x->props.family | 0-u16max |
| USER_DATA | 0 | x->props.reqid | 0-u32max |
| USER_DATA | 0 | x->props.saddr.a4 | 0-u32max |
| USER_DATA | 0 | x->tunnel->id.daddr.a4 | 0-u32max |
| USER_DATA | 0 | x->tunnel->id.spi | 0-u32max |
| USER_DATA | 0 | x->tunnel->inner_mode.family | 2,10 |
| USER_DATA | 0 | x->tunnel->mark.m | 0-u32max |
| USER_DATA | 0 | x->tunnel->mark.v | 0-u32max[c] |
| USER_DATA | 0 | x->tunnel->outer_mode.family | 10[c] |
| USER_DATA | 0 | x->tunnel->props.saddr.a4 | 0-u32max |
| USER_DATA | 0 | x->tunnel->sel.daddr.a4 | 0-u32max |
| USER_DATA | 0 | x->tunnel->sel.dport | 0-u16max |
| USER_DATA | 0 | x->tunnel->sel.dport_mask | 0-u16max |
| USER_DATA | 0 | x->tunnel->sel.ifindex | s32min-s32max |
| USER_DATA | 0 | x->tunnel->sel.prefixlen_d | 0-255 |
| USER_DATA | 0 | x->tunnel->sel.prefixlen_s | 0-255 |
| USER_DATA | 0 | x->tunnel->sel.proto | 0-255 |
| USER_DATA | 0 | x->tunnel->sel.saddr.a4 | 0-u32max |
| USER_DATA | 0 | x->tunnel->sel.sport | 0-u16max |
| USER_DATA | 0 | x->tunnel->sel.sport_mask | 0-u16max |
| USER_DATA | 0 | x->tunnel->sel.user | 0-u32max |
| HALF_LOCKED2 | &net->xfrm.xfrm_cfg_mutex |
net/xfrm/xfrm_user.c xfrm_add_sa() -> xfrm_state_add()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | x | 4096-ptr_max |
| PARAM_VALUE | 0 | x->bydst.next | 0 |
| PARAM_VALUE | 0 | x->bydst.pprev | 0 |
| PARAM_VALUE | 0 | x->byseq.next | 0 |
| PARAM_VALUE | 0 | x->byseq.pprev | 0 |
| PARAM_VALUE | 0 | x->byspi.next | 0 |
| PARAM_VALUE | 0 | x->byspi.pprev | 0 |
| PARAM_VALUE | 0 | x->bysrc.next | 0 |
| PARAM_VALUE | 0 | x->bysrc.pprev | 0 |
| PARAM_VALUE | 0 | x->data | 4096-ptr_max |
| PARAM_VALUE | 0 | x->id.proto | 4,41,43,50-51,60,108 |
| PARAM_VALUE | 0 | x->inner_mode.family | 2,10 |
| PARAM_VALUE | 0 | x->inner_mode_iaf.family | 2,10 |
| PARAM_VALUE | 0 | x->inner_mode_iaf.flags | 1-255 |
| PARAM_VALUE | 0 | x->km.all.next | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | x->km.all.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | x->mode_cbs | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->mode_cbs->clone_state | 7975205731614285824 |
| PARAM_VALUE | 0 | x->mode_cbs->init_state | 894039719160782848 |
| PARAM_VALUE | 0 | x->mode_cbs->owner | 0 |
| PARAM_VALUE | 0 | x->mode_cbs->owner->refcnt.counter | 0-s32max |
| PARAM_VALUE | 0 | x->mode_cbs->owner->state | 0-1,3-u32max |
| PARAM_VALUE | 0 | x->mode_cbs->user_init | 1162222067439800320 |
| PARAM_VALUE | 0 | x->mode_data | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->mtimer._softexpires | 0 |
| PARAM_VALUE | 0 | x->mtimer.base | 4096-ptr_max |
| PARAM_VALUE | 0 | x->mtimer.function | 1-u64max |
| PARAM_VALUE | 0 | x->mtimer.is_hard | 0 |
| PARAM_VALUE | 0 | x->mtimer.is_lazy | 0 |
| PARAM_VALUE | 0 | x->mtimer.is_queued | 0 |
| PARAM_VALUE | 0 | x->mtimer.is_rel | 0 |
| PARAM_VALUE | 0 | x->mtimer.is_soft | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.expires | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.next | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.node.__rb_parent_color | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.node.rb_left | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.node.rb_right | 0 |
| PARAM_VALUE | 0 | x->mtimer.node.node.prev | 0 |
| PARAM_VALUE | 0 | x->outer_mode.family | 2,10 |
| PARAM_VALUE | 0 | x->pcpu_num | 0-2147483646,u32max |
| PARAM_VALUE | 0 | x->props.enc_hdr_len | 4 |
| PARAM_VALUE | 0 | x->props.family | 2,10 |
| PARAM_VALUE | 0 | x->props.mode | 0-5 |
| PARAM_VALUE | 0 | x->props.replay_window | 0-32 |
| PARAM_VALUE | 0 | x->repl_mode | 0-2 |
| PARAM_VALUE | 0 | x->replay_esn | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->rtimer.entry.pprev | 0 |
| PARAM_VALUE | 0 | x->rtimer.flags | 0-4194302 |
| PARAM_VALUE | 0 | x->rtimer.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | x->sel.family | 0,2,10 |
| PARAM_VALUE | 0 | x->state_cache.next | 0 |
| PARAM_VALUE | 0 | x->state_cache.pprev | 0 |
| PARAM_VALUE | 0 | x->tunnel | 4096-ptr_max |
| PARAM_VALUE | 0 | x->tunnel_users.counter | 0 |
| PARAM_VALUE | 0 | x->type | 4096-ptr_max |
| PARAM_VALUE | 0 | x->type->owner | 0 |
| PARAM_VALUE | 0 | x->type->owner->refcnt.counter | 0-s32max |
| PARAM_VALUE | 0 | x->type_offload | 0,4096-ptr_max |
| PARAM_VALUE | 0 | x->type_offload->encap | 3026618011163508736,7531102084703621120 |
| PARAM_VALUE | 0 | x->type_offload->input_tail | 677404555923771392,5422576399545094144 |
| PARAM_VALUE | 0 | x->type_offload->owner | 0 |
| PARAM_VALUE | 0 | x->type_offload->proto | 50 |
| PARAM_VALUE | 0 | x->type_offload->xmit | 3324157048469573632,4206418349158756352 |
| PARAM_VALUE | 0 | *x->aalg->alg_key | 0-255 |
| CAPPED_DATA | 0 | x->pcpu_num | 1 |
| DATA_SOURCE | 0 | x | r xfrm_state_construct |
| NOSPEC | 0 | x->id.proto | |
| NOSPEC | 0 | x->inner_mode.family | |
| NOSPEC | 0 | x->outer_mode.family | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 0 | x->aalg->alg_key_len | 0-u32max |
| USER_DATA | 0 | x->curlft.add_time | 0-u64max |
| USER_DATA | 0 | x->curlft.bytes | 0-u64max |
| USER_DATA | 0 | x->curlft.packets | 0-u64max |
| USER_DATA | 0 | x->curlft.use_time | 0-u64max |
| USER_DATA | 0 | x->id.daddr.a4 | 0-u32max |
| USER_DATA | 0 | x->id.proto | 4,41,43,50-51,60,108 |
| USER_DATA | 0 | x->id.spi | 0-u32max |
| USER_DATA | 0 | x->inner_mode.family | 2,10[c] |
| USER_DATA | 0 | x->km.seq | 0-u32max |
| USER_DATA | 0 | x->lft.hard_add_expires_seconds | 0-u64max |
| USER_DATA | 0 | x->lft.hard_byte_limit | 0-u64max |
| USER_DATA | 0 | x->lft.hard_packet_limit | 0-u64max |
| USER_DATA | 0 | x->lft.hard_use_expires_seconds | 0-u64max |
| USER_DATA | 0 | x->lft.soft_add_expires_seconds | 0-u64max |
| USER_DATA | 0 | x->lft.soft_byte_limit | 0-u64max |
| USER_DATA | 0 | x->lft.soft_packet_limit | 0-u64max |
| USER_DATA | 0 | x->lft.soft_use_expires_seconds | 0-u64max |
| USER_DATA | 0 | x->outer_mode.family | 10[c] |
| USER_DATA | 0 | x->preplay.bitmap | 0-u32max |
| USER_DATA | 0 | x->preplay.oseq | 0-u32max |
| USER_DATA | 0 | x->preplay.seq | 0-u32max |
| USER_DATA | 0 | x->props.family | 2,10[c] |
| USER_DATA | 0 | x->props.flags | 0-255 |
| USER_DATA | 0 | x->props.mode | 0-5 |
| USER_DATA | 0 | x->props.reqid | 0-u32max |
| USER_DATA | 0 | x->props.saddr.a4 | 0-u32max |
| USER_DATA | 0 | x->replay.bitmap | 0-u32max |
| USER_DATA | 0 | x->replay.oseq | 0-u32max |
| USER_DATA | 0 | x->replay.seq | 0-u32max |
| USER_DATA | 0 | x->sel.daddr.a4 | 0-u32max |
| USER_DATA | 0 | x->sel.dport | 0-u16max |
| USER_DATA | 0 | x->sel.dport_mask | 0-u16max |
| USER_DATA | 0 | x->sel.ifindex | s32min-s32max |
| USER_DATA | 0 | x->sel.prefixlen_d | 0-255 |
| USER_DATA | 0 | x->sel.prefixlen_s | 0-255 |
| USER_DATA | 0 | x->sel.proto | 0-255 |
| USER_DATA | 0 | x->sel.saddr.a4 | 0-u32max |
| USER_DATA | 0 | x->sel.sport | 0-u16max |
| USER_DATA | 0 | x->sel.sport_mask | 0-u16max |
| USER_DATA | 0 | x->sel.user | 0-u32max |
| USER_DATA | 0 | x->tunnel->id.daddr.a4 | 0-u32max |
| USER_DATA | 0 | x->tunnel->id.spi | 0-u32max |
| USER_DATA | 0 | x->tunnel->inner_mode.family | 2,10 |
| USER_DATA | 0 | x->tunnel->mark.m | 0-u32max |
| USER_DATA | 0 | x->tunnel->mark.v | 0-u32max[c] |
| USER_DATA | 0 | x->tunnel->outer_mode.family | 10[c] |
| USER_DATA | 0 | x->tunnel->props.flags | 0-255 |
| USER_DATA | 0 | x->tunnel->props.saddr.a4 | 0-u32max |
| USER_DATA | 0 | x->tunnel->sel.daddr.a4 | 0-u32max |
| USER_DATA | 0 | x->tunnel->sel.dport | 0-u16max |
| USER_DATA | 0 | x->tunnel->sel.dport_mask | 0-u16max |
| USER_DATA | 0 | x->tunnel->sel.family | 0,2,10[c] |
| USER_DATA | 0 | x->tunnel->sel.ifindex | s32min-s32max |
| USER_DATA | 0 | x->tunnel->sel.prefixlen_d | 0-255 |
| USER_DATA | 0 | x->tunnel->sel.prefixlen_s | 0-255 |
| USER_DATA | 0 | x->tunnel->sel.proto | 0-255 |
| USER_DATA | 0 | x->tunnel->sel.saddr.a4 | 0-u32max |
| USER_DATA | 0 | x->tunnel->sel.sport | 0-u16max |
| USER_DATA | 0 | x->tunnel->sel.sport_mask | 0-u16max |
| USER_DATA | 0 | x->tunnel->sel.user | 0-u32max |
| HALF_LOCKED2 | &net->xfrm.xfrm_cfg_mutex | ||
| HALF_LOCKED2 | global &audit_cmd_mutex.lock | ||
| HALF_LOCKED2 | global &cb_lock | ||
| HALF_LOCKED2 | global &crypto_cfg_mutex | ||
| HALF_LOCKED2 | global &hwsim_phys_lock | ||
| HALF_LOCKED2 | global &rtnl_mutex | ||
| HALF_LOCKED2 | global &rx_queue_mutex | ||
| HALF_LOCKED2 | rcu_read |