函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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
注解内核,赢得工具下载SCCTEnglish

函数名称: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 longoffset
size_tbytes
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
调用者
名称描述
generic_perform_write
iomap_write_actor