On Fri, January 20, 2012 01:53, Linus Torvalds wrote: > On Thu, Jan 19, 2012 at 4:21 PM, Indan Zupancic <indan@xxxxxx> wrote: >> >> With current ptrace you can do exactly that. It's just very slow, because >> you have to copy the data word by word via PTRACE_PEEKDATA. But if Linux >> would support something like BSD's PT_IO ptrace request, then it could be >> limited to one extra ptrace command. (PTRACE_STRNCPY would be handy.) > > Actually, you could use the new "process_vm_readv/writev()" system > calls. No need to do the crazy slow ptrace stuff. Oh wow, that's great! I tried pread on /proc/$PID/mem before, but that didn't work for some reason and would eat many fd's if there were a lot of prisoners. When did it got merged? > I dunno. It got merged through Andrew, and the code looks sane, but > I've never actually seen anybody *use* it. So maybe there is something > wrong there. And no, it doesn't have a "strncpy" interface, I'm > afraid. My main problem is that I don't know beforehand how much I have to read, and if I always reada fixed amount it may go across a page border and error out. So if process_vm_readv() reads the accessible data only and doesn't give up halfway, it's perfect. That seems to be the behaviour, but the manpage is fuzzy enough that it may not be true. I'll take a look at the source later. Thanks, Indan -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html