函数逻辑报告 |
Source Code:lib\iov_iter.c |
Create Date:2022-07-27 07:19:34 |
Last Modify:2022-05-21 11:43:54 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:iov_iter_copy_from_user_atomic
函数原型:size_t iov_iter_copy_from_user_atomic(struct page *page, struct iov_iter *i, unsigned long offset, size_t bytes)
返回类型:size_t
参数:
类型 | 参数 | 名称 |
---|---|---|
struct page * | page | |
struct iov_iter * | i | |
unsigned long | offset | |
size_t | bytes |
989 | kaddr等于kmap_atomic(page), p等于kaddr加offset |
990 | 如果此条件成立可能性小(为编译器优化)(!page_copy_sane(page, offset, bytes))则 |
991 | Prevent people trying to call kunmap_atomic() as if it were kunmap()* kunmap_atomic() should get the return value of kmap_atomic, not the page.(kaddr) |
992 | 返回:0 |
994 | 如果此条件成立可能性小(为编译器优化)(iov_iter_is_pipe(i) || iov_iter_is_discard(i))则 |
995 | Prevent people trying to call kunmap_atomic() as if it were kunmap()* kunmap_atomic() should get the return value of kmap_atomic, not the page.(kaddr) |
996 | WARN_ON(1) |
997 | 返回:0 |
999 | iterate_all_kinds(i, bytes, v, copyin((p += iov_len) - iov_len, iov_base, iov_len), memcpy_from_page((p += bv_len) - bv_len, bv_page, bv_offset, bv_len), 内存复制((p += iov_len) - iov_len, iov_base, iov_len)) |
1005 | Prevent people trying to call kunmap_atomic() as if it were kunmap()* kunmap_atomic() should get the return value of kmap_atomic, not the page.(kaddr) |
1006 | 返回:bytes |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |