Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jul 1997 19:30:39 -0700
From:      David Greenman <dg@root.com>
To:        Michael Smith <msmith@atrad.adelaide.edu.au>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Location of copyin() and copyout().. 
Message-ID:  <199707300230.TAA11782@implode.root.com>
In-Reply-To: Your message of "Wed, 30 Jul 1997 11:47:21 %2B0930." <199707300217.LAA16641@genesis.atrad.adelaide.edu.au> 

next in thread | previous in thread | raw e-mail | index | archive | help
>David Greenman stands accused of saying:
>> 
>>    There is no problem with using copyout() in the kernel to copy data out to
>> a user process, assuming that the currently running process is the intended
>> target of the copy. That is the sole purpose of the function. copyout()
>> correctly handles all issues of COW/ZF/page faults.
>
>The only issue here is that the consumer of your service may _not_ be
>a user process, eg. in the case of an ABI emulation module.  I would
>specifically request that people avoid using copyout unless they can
>be _absolutely_ certain that they will only ever be talking to user
>processes.
>
>As I said, this has already caused me heartache several times 8(

   I don't understand the distinction you're making. copyout *always* runs in
the (kernel) context of a user process and the destination is always process
(as opposed to kernel) memory. Please explain.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707300230.TAA11782>