diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-02-05 10:28:58 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-04-01 23:19:26 -0400 |
commit | 12e3004e464f554e0d57ddd0b4185060275e1f12 (patch) | |
tree | a07d99faf45c189d600e573f07afdf28f7c8c655 /mm | |
parent | c61c70384fad407bfcb066c3fb9271164d630212 (diff) | |
download | op-kernel-dev-12e3004e464f554e0d57ddd0b4185060275e1f12.zip op-kernel-dev-12e3004e464f554e0d57ddd0b4185060275e1f12.tar.gz |
untangling process_vm_..., part 3
lift iov one more level out - from process_vm_rw_single_vec to
process_vm_rw_core(). Same story as with the previous commit.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/process_vm_access.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/mm/process_vm_access.c b/mm/process_vm_access.c index 186ec5d..40dfb39 100644 --- a/mm/process_vm_access.c +++ b/mm/process_vm_access.c @@ -174,7 +174,7 @@ end: */ static int process_vm_rw_single_vec(unsigned long addr, unsigned long len, - const struct iovec *lvec, + const struct iovec **iovp, unsigned long lvec_cnt, unsigned long *lvec_current, size_t *lvec_offset, @@ -193,7 +193,6 @@ static int process_vm_rw_single_vec(unsigned long addr, unsigned long nr_pages_to_copy; unsigned long max_pages_per_loop = PVM_MAX_KMALLOC_PAGES / sizeof(struct pages *); - const struct iovec *iov = lvec + *lvec_current; *bytes_copied = 0; @@ -208,7 +207,7 @@ static int process_vm_rw_single_vec(unsigned long addr, rc = process_vm_rw_pages(task, mm, process_pages, pa, start_offset, len, - &iov, lvec_cnt, + iovp, lvec_cnt, lvec_current, lvec_offset, vm_write, nr_pages_to_copy, &bytes_copied_loop); @@ -319,7 +318,7 @@ static ssize_t process_vm_rw_core(pid_t pid, const struct iovec *lvec, for (i = 0; i < riovcnt && iov_l_curr_idx < liovcnt; i++) { rc = process_vm_rw_single_vec( (unsigned long)rvec[i].iov_base, rvec[i].iov_len, - lvec, liovcnt, &iov_l_curr_idx, &iov_l_curr_offset, + &lvec, liovcnt, &iov_l_curr_idx, &iov_l_curr_offset, process_pages, mm, task, vm_write, &bytes_copied_loop); bytes_copied += bytes_copied_loop; if (rc != 0) { |