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