| 函数逻辑报告 | 
| Source Code: kernel\kcov.c | Create Date:2022-07-27 12:37:41 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:kcov_ioctl_locked
函数原型:static int kcov_ioctl_locked(struct kcov *kcov, unsigned int cmd, unsigned long arg)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct kcov * | kcov | |
| unsigned int | cmd | |
| unsigned long | arg | 
| 555 | 当:cmd恒等于KCOV_INIT_TRACE | 
| 556 | kcov_debug("KCOV_INIT_TRACE\n") | 
| 561 | 如果mode不等于KCOV_MODE_DISABLED则返回:负EBUSY | 
| 572 | mode等于KCOV_MODE_INIT | 
| 573 | 返回:0 | 
| 574 | 当:cmd恒等于KCOV_ENABLE | 
| 575 | kcov_debug("KCOV_ENABLE\n") | 
| 583 | 如果mode不等于KCOV_MODE_INIT或非Coverage buffer shared with user space. 则返回:负EINVAL | 
| 586 | 如果(Task for which we collect coverage, or NULL. != NULL || kcov != NULL)则返回:负EBUSY | 
| 588 | mode等于kcov_get_mode(arg) | 
| 599 | 返回:0 | 
| 600 | 当:cmd恒等于KCOV_DISABLE | 
| 601 | kcov_debug("KCOV_DISABLE\n") | 
| 607 | 如果WARN_ON(Task for which we collect coverage, or NULL. != t)则返回:负EINVAL | 
| 609 | kcov_disable(t, kcov) | 
| 611 | 返回:0 | 
| 612 | 当:cmd恒等于KCOV_REMOTE_ENABLE | 
| 613 | kcov_debug("KCOV_REMOTE_ENABLE\n") | 
| 614 | 如果mode不等于KCOV_MODE_INIT或非Coverage buffer shared with user space. 则返回:负EINVAL | 
| 617 | 如果(Task for which we collect coverage, or NULL. != NULL || kcov != NULL)则返回:负EBUSY | 
| 619 | remote_arg等于arg | 
| 623 | 如果Length of coverage buffer in words 大于LONG_MAX除sizeof(unsignedlong)则返回:负EINVAL | 
| 630 | 加自旋锁 | 
| 631 | 以i小于Size of handles array 循环 | 
| 632 | kcov_debug("handle %llx\n", handles[i]) | 
| 639 | remote等于kcov_remote_add(kcov, handles[i]) | 
| 640 | 如果是错误则 | 
| 646 | 如果common_handle则 | 
| 647 | kcov_debug("common handle %llx\n", common_handle) | 
| 655 | remote等于kcov_remote_add(kcov, common_handle) | 
| 657 | 如果是错误则 | 
| 662 | kcov_handle等于common_handle | 
| 664 | 自旋锁解锁 | 
| 667 | 返回:0 | 
| 668 | 默认 | 
| 669 | 返回:负ENOTTY | 
| 名称 | 描述 | 
|---|---|
| kcov_ioctl | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |