On Wed, Apr 25, 2012 at 5:49 AM, Mike Frysinger <vapier@xxxxxxxxxx> wrote:
> On Tuesday 24 April 2012 05:11:54 Michael Kerrisk (man-pages) wrote:
>> The
>> .BR process_vm_readv ()
>> system call transfers data from the remote process to the local process.
>> The data to be transferred is identified by
>> .IR remote_iov
>> and
>> .IR riovcnt :
>> .IR remote_iov
>> is a pointer to an array describing address ranges in the process
>> .IR pid ,
>
> maybe add the word "remote" here:
> ... in the remote process pid, ...
>
>> The data is transferred to the locations specified by
>> .IR local_iov
>> and
>> .IR liovcnt :
>> .IR local_iov
>> is a pointer to an array describing address ranges in the calling process,
>
> calling -> local
The last two wordings were actually deliberate emphasize the
connections pid == remove, caller == local, so I'll leave as is.
>> The
>> .BR process_vm_writev ()
>> system call is the converse of
>> .BR process_vm_readv ()\(emit
>
> this renders as:
> ... process_vm_readv()—it transfers ...
>
> were you going to kill off that weird dash, or just add spacing around it ?
As noted earlier, normal English typesetting convention is no spaces
around an em-dash...
>> Other than the direction of the transfer, the arguments
>> .IR liovcnt ,
>> .IR local_iov ,
>> .IR liovcnt ,
>> and
>> .IR remote_iov
>> have the same meaning as for
>> .BR process_vm_readv ().
>
> that second liovcnt is supposed to be riovcnt
Thanks!
>> Note, however, that these system calls do not check the memory regions
>> in the remote process until just before doing the read/write.
>> Consequently, a partial read/write (see RETURN VALUE)
>
> should that RETURN VALUE be bolded ?
No. (man-pages convention.)
>> may result if one of the
>> .I remote_iov
>> elements points to an invalid memory region in the remote process.
>> No further reads/writes will be attempted beyond that point.
>> Keep this in mind when attempting to read data of unknown length
>> (such as C strings that are null-terminated) from a remote process,
>> by avoiding spanning memory pages (typically 4KiB) in a single remote
>> .I iovec
>> element.
>> (Instead, split the remote read into two
>> .I remove_iov
>> elements and have them merge back into a single write array entry.
>
> maybe change "array" to "local_iov"
Yes, better.
Thanks for checking this over again, Mike.
Christoper?
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface"; http://man7.org/tlpi/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Netdev]
[Linux Ethernet Bridging]
[Linux Wireless]
[Kernel Newbies]
[Memory]
[Security]
[Linux for Hams]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux RAID]
[Linux Admin]
[Samba]
[Video 4 Linux]
[Linux Resources]