Alfred Perlstein wrote:
> > write() doesn't exist in the kernel.  The simple answer is "you're
> > going to have to read what the send() syscall does and emulate it".
> > First, though, you need to answer the question "why do I want to do
> > this in the kernel?"
> 
> it actually exists, however the problem is that copyin and friends
> assume a seperate address space, I wonder if one could do some trick
> to alias the seperate address space on top of the kernel, that should
> allow copyin and friends to work on pointers into the kernel's address
> space.

The fix is to use uiomove directly, and pass UIO_SYSSPACE or
UIO_USERSPACE as a parameter, and break the API's for the
system calls themselves into two parts.

I've been complaining for years that people treat the system
call interface as the only possible VFS consumer.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to