Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

lib/nlattr.c __nla_parse() -> __nla_validate_parse()

Type Parameter Key Value
PARAM_VALUE 7 depth 0
DATA_SOURCE 0 head $2
DATA_SOURCE 1 len $3
DATA_SOURCE 2 maxtype $1
DATA_SOURCE 3 policy $4
DATA_SOURCE 4 validate $5
DATA_SOURCE 5 extack $6
DATA_SOURCE 6 tb $0

lib/nlattr.c __nla_validate() -> __nla_validate_parse()

Type Parameter Key Value
PARAM_VALUE 2 maxtype 0-6,8-9,12,31,69
PARAM_VALUE 4 validate 0,31
PARAM_VALUE 6 tb 0
PARAM_VALUE 7 depth 0
BUF_SIZE 3 policy (-1),32,48,64,80,96,112,208,512,1120
BUF_SIZE 3 policy (-1),32,48,64,80,96,112,208,512,1120
DATA_SOURCE 0 head $0
DATA_SOURCE 1 len $1
DATA_SOURCE 2 maxtype $2
DATA_SOURCE 3 policy $3
DATA_SOURCE 4 validate $4
DATA_SOURCE 5 extack $5
HARD_MAX 4 validate 31
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 head->nla_len 0-u16max
USER_DATA 0 head->nla_type 0-u16max
USER_DATA 1 len (-12)-2147483619
UNITS 1 len unit_byte
USER_PTR 0 head
HALF_LOCKED2 &ops->srcu
HALF_LOCKED2 rcu_read

lib/nlattr.c nla_validate_array() -> __nla_validate_parse()

Type Parameter Key Value
PARAM_VALUE 1 len 0-65527
PARAM_VALUE 3 policy 1-u64max
PARAM_VALUE 6 tb 0
PARAM_VALUE 7 depth 1-10
CAPPED_DATA 1 len 1
DATA_SOURCE 2 maxtype $2
DATA_SOURCE 3 policy $3
DATA_SOURCE 4 validate $5
DATA_SOURCE 5 extack $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 head->nla_len 0-u16max
USER_DATA 0 head->nla_type 0-u16max
USER_DATA 1 len 0-65527[c]
USER_PTR 0 head

lib/nlattr.c validate_nla() -> __nla_validate_parse()

Type Parameter Key Value
PARAM_VALUE 1 len 0-65531
PARAM_VALUE 3 policy 1-u64max
PARAM_VALUE 6 tb 0
PARAM_VALUE 7 depth 1-10
CAPPED_DATA 1 len 1
DATA_SOURCE 4 validate $3 [m]
DATA_SOURCE 5 extack $4
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 head->nla_len 0-u16max
USER_DATA 0 head->nla_type 0-u16max
USER_DATA 1 len 0-65531[c]
USER_PTR 0 head