函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sysctl.c Create Date:2022-07-27 10:11:09
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:do_proc_douintvec_w

函数原型:static int do_proc_douintvec_w(unsigned int *tbl_data, struct ctl_table *table, void __user *buffer, size_t *lenp, loff_t *ppos, int (*conv)(unsigned long *lvalp, unsigned int *valp, int write, void *data), void *data)

返回类型:int

参数:

类型参数名称
unsigned int *tbl_data
struct ctl_table *table
void __user *buffer
size_t *lenp
loff_t *ppos
int (*conv
void *data
2435  err等于0
2438  kbuf等于NULL
2440  left等于lenp
2442  如果proc_first_pos_non_zero_ignore - check if first position is allowed*@ppos: file position*@table: the sysctl table* Returns true if the first position is non-zero and the sysctl_writes_strict* mode indicates this is not allowed for numeric input types则转到:bail_early
2445  如果left大于PAGE_SIZE减1则left等于PAGE_SIZE减1
2448  p等于kbuf等于memdup_user_nul(buffer, left)
2449  如果是错误则返回:负EINVAL
2452  left减等于proc_skip_spaces( & p)
2453  如果非left
2454  err等于负EINVAL
2455  转到:out_free
2458  err等于proc_get_long - reads an ASCII formatted integer from a user buffer*@buf: a kernel buffer*@size: size of the kernel buffer*@val: this is where the number will be stored*@neg: set to %TRUE if number is negative*@perm_tr: a vector which contains the allowed
2461  如果errneg
2462  err等于负EINVAL
2463  转到:out_free
2466  如果conv( & lval, tbl_data, 1, data)则
2467  err等于负EINVAL
2468  转到:out_free
2471  如果非errleftleft减等于proc_skip_spaces( & p)
2474  out_free :
2475  释放内存
2476  如果err则返回:负EINVAL
2479  返回:0
2482  bail_early :
2483  ppos加等于lenp
2484  返回:err
调用者
名称描述
__do_proc_douintvec