Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/proc/proc_sysctl.c get_subdir() -> find_subdir()

Type Parameter Key Value
PARAM_VALUE 0 dir 4096-ptr_max
PARAM_VALUE 1 name 1-u64max
PARAM_VALUE 2 namelen s32min-(-1),1-s32max
BUF_SIZE 0 dir (-1),96,186-s32max
BUF_SIZE 0 dir (-1),96,186-s32max
BUF_SIZE 1 name (-1)-s32max
BUF_SIZE 1 name (-1)-s32max
DATA_SOURCE 0 dir $0
DATA_SOURCE 1 name $1
DATA_SOURCE 2 namelen $2
STR_LEN 0 dir (-1),9-27,29-30
STR_LEN 0 dir (-1),9-27,29-30
STR_LEN 1 name (-1),1-30
STR_LEN 1 name (-1),1-30
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &sysctl_lock

fs/proc/proc_sysctl.c get_subdir() -> find_subdir()

Type Parameter Key Value
PARAM_VALUE 0 dir 4096-ptr_max
PARAM_VALUE 0 dir->header.set 4096-ptr_max
PARAM_VALUE 1 name 1-u64max
PARAM_VALUE 2 namelen 1-3999815
BUF_SIZE 0 dir (-1),96,186-s32max
BUF_SIZE 0 dir (-1),96,186-s32max
BUF_SIZE 1 name (-1)-s32max
BUF_SIZE 1 name (-1)-s32max
DATA_SOURCE 0 dir $0
DATA_SOURCE 1 name $1
DATA_SOURCE 2 namelen $2
STR_LEN 0 dir (-1),9-27,29-30
STR_LEN 0 dir (-1),9-27,29-30
STR_LEN 1 name (-1),1-30
STR_LEN 1 name (-1),1-30
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 2 namelen unit_byte
LOCK2 global &sysctl_lock

fs/proc/proc_sysctl.c xlate_dir() -> find_subdir()

Type Parameter Key Value
PARAM_VALUE 0 dir 4096-ptr_max
PARAM_VALUE 2 namelen 0-3
BUF_SIZE 0 dir (-1),96
BUF_SIZE 0 dir (-1),96
BUF_SIZE 1 name 3-4
BUF_SIZE 1 name 3-4
DATA_SOURCE 0 dir r xlate_dir
STR_LEN 0 dir 0-3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &sysctl_lock