Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
net/xfrm/xfrm_user.c xfrm_compile_policy() -> copy_from_user_policy()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xp | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->bydst.next | 0 |
| PARAM_VALUE | 0 | xp->bydst.pprev | 0 |
| PARAM_VALUE | 0 | xp->byidx.next | 0 |
| PARAM_VALUE | 0 | xp->byidx.pprev | 0 |
| PARAM_VALUE | 0 | xp->lock.magic | 3736018669 |
| PARAM_VALUE | 0 | xp->lock.owner | (-1) |
| PARAM_VALUE | 0 | xp->lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | xp->polq.hold_queue.next | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->polq.hold_queue.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->polq.hold_queue.qlen | 0 |
| PARAM_VALUE | 0 | xp->polq.hold_timer.entry.pprev | 0 |
| PARAM_VALUE | 0 | xp->polq.hold_timer.flags | 0-4194302 |
| PARAM_VALUE | 0 | xp->polq.hold_timer.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | xp->refcnt.refs.counter | 1 |
| PARAM_VALUE | 0 | xp->timer.entry.pprev | 0 |
| PARAM_VALUE | 0 | xp->timer.flags | 0-4194302 |
| PARAM_VALUE | 0 | xp->timer.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | xp->walk.all.next | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->walk.all.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->walk.all.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->walk.all.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->walk.all.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| PARAM_VALUE | 1 | p->action | 0-1 |
| PARAM_VALUE | 1 | p->dir | 0-1 |
| PARAM_VALUE | 1 | p->sel.family | 2,10 |
| PARAM_VALUE | 1 | p->sel.prefixlen_d | 0-128 |
| PARAM_VALUE | 1 | p->sel.prefixlen_s | 0-128 |
| PARAM_VALUE | 1 | p->share | 0-3 |
| BUF_SIZE | 0 | xp | 1064 |
| BUF_SIZE | 1 | p | (-1),1-4096 |
| BUF_SIZE | 1 | p | (-1),1-4096 |
| CAPPED_DATA | 1 | p->dir | 1 |
| DATA_SOURCE | 0 | xp | r xfrm_policy_alloc |
| DATA_SOURCE | 1 | p | $2 |
| FUZZY_MAX | 1 | p->dir | 1 |
| HARD_MAX | 1 | p->dir | 1 |
| HARD_MAX | 1 | p->sel.prefixlen_d | 128 |
| HARD_MAX | 1 | p->sel.prefixlen_s | 128 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | p->action | 0-1[u] |
| USER_DATA | 1 | p->curlft.add_time | 0-u64max[u] |
| USER_DATA | 1 | p->curlft.bytes | 0-u64max[u] |
| USER_DATA | 1 | p->curlft.packets | 0-u64max[u] |
| USER_DATA | 1 | p->curlft.use_time | 0-u64max[u] |
| USER_DATA | 1 | p->dir | 0-1[c] |
| USER_DATA | 1 | p->flags | 0-255[u] |
| USER_DATA | 1 | p->index | 0-u32max[u] |
| USER_DATA | 1 | p->lft.hard_add_expires_seconds | 0-u64max[u] |
| USER_DATA | 1 | p->lft.hard_byte_limit | 0-u64max[u] |
| USER_DATA | 1 | p->lft.hard_packet_limit | 0-u64max[u] |
| USER_DATA | 1 | p->lft.hard_use_expires_seconds | 0-u64max[u] |
| USER_DATA | 1 | p->lft.soft_add_expires_seconds | 0-u64max[u] |
| USER_DATA | 1 | p->lft.soft_byte_limit | 0-u64max[u] |
| USER_DATA | 1 | p->lft.soft_packet_limit | 0-u64max[u] |
| USER_DATA | 1 | p->lft.soft_use_expires_seconds | 0-u64max[u] |
| USER_DATA | 1 | p->priority | 0-u32max[u] |
| USER_DATA | 1 | p->sel.daddr.a4 | 0-u32max[u] |
| USER_DATA | 1 | p->sel.dport | 0-u16max[u] |
| USER_DATA | 1 | p->sel.dport_mask | 0-u16max[u] |
| USER_DATA | 1 | p->sel.family | 2,10[u] |
| USER_DATA | 1 | p->sel.ifindex | s32min-s32max[u] |
| USER_DATA | 1 | p->sel.prefixlen_d | 0-128[u] |
| USER_DATA | 1 | p->sel.prefixlen_s | 0-128[u] |
| USER_DATA | 1 | p->sel.proto | 0-255[u] |
| USER_DATA | 1 | p->sel.saddr.a4 | 0-u32max[u] |
| USER_DATA | 1 | p->sel.sport | 0-u16max[u] |
| USER_DATA | 1 | p->sel.sport_mask | 0-u16max[u] |
| USER_DATA | 1 | p->sel.user | 0-u32max[u] |
| USER_DATA | 1 | p->share | 0-3[u] |
| USER_PTR | 1 | p | |
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | sk |
net/xfrm/xfrm_user.c xfrm_policy_construct() -> copy_from_user_policy()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | xp | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->bydst.next | 0 |
| PARAM_VALUE | 0 | xp->bydst.pprev | 0 |
| PARAM_VALUE | 0 | xp->byidx.next | 0 |
| PARAM_VALUE | 0 | xp->byidx.pprev | 0 |
| PARAM_VALUE | 0 | xp->lock.magic | 3736018669 |
| PARAM_VALUE | 0 | xp->lock.owner | (-1) |
| PARAM_VALUE | 0 | xp->lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | xp->polq.hold_queue.next | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->polq.hold_queue.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->polq.hold_queue.qlen | 0 |
| PARAM_VALUE | 0 | xp->polq.hold_timer.entry.pprev | 0 |
| PARAM_VALUE | 0 | xp->polq.hold_timer.flags | 0-4194302 |
| PARAM_VALUE | 0 | xp->polq.hold_timer.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | xp->refcnt.refs.counter | 1 |
| PARAM_VALUE | 0 | xp->timer.entry.pprev | 0 |
| PARAM_VALUE | 0 | xp->timer.flags | 0-4194302 |
| PARAM_VALUE | 0 | xp->timer.lockdep_map->name | 0-255 |
| PARAM_VALUE | 0 | xp->walk.all.next | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->walk.all.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->walk.all.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->walk.all.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | xp->walk.all.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| PARAM_VALUE | 1 | p->action | 0-1 |
| PARAM_VALUE | 1 | p->dir | 0-2 |
| PARAM_VALUE | 1 | p->sel.family | 2,10 |
| PARAM_VALUE | 1 | p->sel.prefixlen_d | 0-128 |
| PARAM_VALUE | 1 | p->sel.prefixlen_s | 0-128 |
| PARAM_VALUE | 1 | p->share | 0-3 |
| BUF_SIZE | 0 | xp | 1064 |
| CAPPED_DATA | 1 | p->dir | 1 |
| DATA_SOURCE | 0 | xp | r xfrm_policy_alloc |
| DATA_SOURCE | 1 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | p->action | 0-1 |
| USER_DATA | 1 | p->curlft.add_time | 0-u64max |
| USER_DATA | 1 | p->curlft.bytes | 0-u64max |
| USER_DATA | 1 | p->curlft.packets | 0-u64max |
| USER_DATA | 1 | p->curlft.use_time | 0-u64max |
| USER_DATA | 1 | p->dir | 0-2[c] |
| USER_DATA | 1 | p->flags | 0-255 |
| USER_DATA | 1 | p->index | 0-u32max |
| USER_DATA | 1 | p->lft.hard_add_expires_seconds | 0-u64max |
| USER_DATA | 1 | p->lft.hard_byte_limit | 0-u64max |
| USER_DATA | 1 | p->lft.hard_packet_limit | 0-u64max |
| USER_DATA | 1 | p->lft.hard_use_expires_seconds | 0-u64max |
| USER_DATA | 1 | p->lft.soft_add_expires_seconds | 0-u64max |
| USER_DATA | 1 | p->lft.soft_byte_limit | 0-u64max |
| USER_DATA | 1 | p->lft.soft_packet_limit | 0-u64max |
| USER_DATA | 1 | p->lft.soft_use_expires_seconds | 0-u64max |
| USER_DATA | 1 | p->priority | 0-u32max |
| USER_DATA | 1 | p->sel.dport | 0-u16max |
| USER_DATA | 1 | p->sel.dport_mask | 0-u16max |
| USER_DATA | 1 | p->sel.family | 2,10 |
| USER_DATA | 1 | p->sel.ifindex | s32min-s32max |
| USER_DATA | 1 | p->sel.prefixlen_d | 0-128 |
| USER_DATA | 1 | p->sel.prefixlen_s | 0-128 |
| USER_DATA | 1 | p->sel.proto | 0-255 |
| USER_DATA | 1 | p->sel.sport | 0-u16max |
| USER_DATA | 1 | p->sel.sport_mask | 0-u16max |
| USER_DATA | 1 | p->sel.user | 0-u32max |
| USER_DATA | 1 | p->share | 0-3 |
| USER_PTR | 1 | p | |
| HALF_LOCKED2 | &net->xfrm.xfrm_cfg_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| 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 |