函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sysctl_binary.c Create Date:2022-07-27 10:12:06
Last Modify:2020-03-17 13:22:06 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:do_sysctl

函数原型:static ssize_t do_sysctl(int __user *args_name, int nlen, void __user *oldval, size_t oldlen, void __user *newval, size_t newlen)

返回类型:ssize_t

参数:

类型参数名称
int __user *args_name
intnlen
void __user *oldval
size_toldlen
void __user *newval
size_tnewlen
85  如果nlen小于0或nlen大于how many path components do we allow in acall to sysctl? In other words, what isthe largest acceptable value for the nlenmember of a struct __sysctl_args to have? 则返回:负ENOTDIR
88 i小于nlen循环如果Careful: we have to cast the result to the type of the pointer* for sign reasons(name[i], args_name + i)则
90  返回:负EFAULT
92  Print each legacy sysctl (approximately) only once.* To avoid making the tables non-const use a external* hash-table instead.* Worst case hash collision: 6, but very rarely.* NOTE! We don't use the SMP-safe bit tests. We simply* don't care enough.
94  返回:binary_sysctl(name, nlen, oldval, oldlen, newval, newlen)
调用者
名称描述
SYSCALL_DEFINE1
COMPAT_SYSCALL_DEFINE1