Subject: direct copy() between two proc address spaces
To: None <>
From: Ian Zagorskih <>
List: tech-kern
Date: 06/19/2004 18:46:43
In short: Inside kernel, is it possibly to directly copy data from address 
space of one process to address space of another process ?

According to man pages there are copyin()/copyout() functions which move data 
from user space to kernel space and back. In my case, i have two processes 
struct proc *p1 and *p2 and i need to copy some block of data between p1 and 

Of course i can manually allocate temporary buffer inside kernel, copy data in 
buffer from p1, copy data from buffer to p2 and free buffer. But this is 
quite significant overhead and unneeded operations. Is there some direct way 
to do this ?


// wbr