函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\userfaultfd.c Create Date:2022-07-29 10:52:35
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:userfaultfd_read

函数原型:static ssize_t userfaultfd_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)

返回类型:ssize_t

参数:

类型参数名称
struct file *file
char __user *buf
size_tcount
loff_t *ppos
1203  ctx等于 needed for tty driver, and maybe others
1204  ret等于0
1206  no_wait等于f_flags按位与O_NONBLOCK
1208  如果state machine 恒等于UFFD_STATE_WAIT_API则返回:负EINVAL
1211  循环
1212  如果count小于msg的长度则返回:如果retret否则负EINVAL
1214  _ret等于userfaultfd_ctx_read(ctx, no_wait, & msg)
1215  如果_ret小于0则返回:如果retret否则_ret
1217  如果copy_to_user((__u64__user * )buf, & msg, msg的长度)则返回:如果retret否则负EFAULT
1219  ret加等于msg的长度
1220  buf加等于msg的长度
1221  count减等于msg的长度
1226  no_wait等于O_NONBLOCK