Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\process_vm_access.c Create Date:2022-07-28 15:01:38
Last Modify:2020-03-17 21:52:24 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:compat_process_vm_rw

Proto:static ssize_t compat_process_vm_rw(compat_pid_t pid, const struct compat_iovec __user *lvec, unsigned long liovcnt, const struct compat_iovec __user *rvec, unsigned long riovcnt, unsigned long flags, int vm_write)

Type:ssize_t

Parameter:

TypeParameterName
compat_pid_tpid
const struct compat_iovec __user *lvec
unsigned longliovcnt
const struct compat_iovec __user *rvec
unsigned longriovcnt
unsigned longflags
intvm_write
321  iov_l = iovstack_l
322  iov_r = iovstack_r
324  rc = -EFAULT
325  dir = If vm_write Then WRITE Else generic data direction definitions
327  If flags != 0 Then Return -EINVAL
330  rc = compat_import_iovec(dir, lvec, liovcnt, UIO_MAXIOV shall be at least 16 1003.1g (5.4.1.1), & iov_l, & iter)
331  If rc < 0 Then Return rc
333  If Not iov_iter_count( & iter) Then Go to free_iovecs
335  rc = compat_rw_copy_check_uvector(Flag for rw_copy_check_uvector and compat_rw_copy_check_uvector* that indicates that they should check the contents of the iovec are* valid, but not check the memory that the iovec elements* points too., rvec, riovcnt, UIO_MAXIOV shall be at least 16 1003.1g (5.4.1.1), iovstack_r, & iov_r)
338  If rc <= 0 Then Go to free_iovecs
341  rc = process_vm_rw_core - core of reading/writing pages from task specified*@pid: PID of process to read/write from/to*@iter: where to copy to/from locally*@rvec: iovec array specifying where to copy to/from in the other process*@riovcnt: size of rvec
343  free_iovecs :
344  If iov_r != iovstack_r Then kfree(iov_r)
346  kfree(iov_l)
347  Return rc
Caller
NameDescribe
COMPAT_SYSCALL_DEFINE6
COMPAT_SYSCALL_DEFINE6