函数逻辑报告 |
Source Code:kernel\kcov.c |
Create Date:2022-07-27 12:37:45 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:kcov_ioctl
函数原型:static long kcov_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
返回类型:long
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct file * | filep | |
| unsigned int | cmd | |
| unsigned long | arg |
| 677 | struct kcov_remote_arg * remote_arg = NULL |
| 681 | 如果cmd恒等于KCOV_REMOTE_ENABLE则 |
| 682 | 如果Careful: we have to cast the result to the type of the pointer* for sign reasons(remote_num_handles, (unsigned__user * )(arg + offsetof(structkcov_remote_arg, num_handles)))则返回:负EFAULT |
| 685 | 如果remote_num_handles大于KCOV_REMOTE_MAX_HANDLES则返回:负EINVAL |
| 689 | remote_arg等于memdup_user((void__user * )arg, remote_arg_size) |
| 692 | 如果Size of handles array 不等于remote_num_handles则 |
| 693 | kfree(remote_arg) |
| 694 | 返回:负EINVAL |
| 696 | arg等于remote_arg |
| 700 | 加自旋锁 |
| 701 | res等于kcov_ioctl_locked(kcov, cmd, arg) |
| 702 | 自旋锁解锁 |
| 704 | kfree(remote_arg) |
| 706 | 返回:res |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |