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