copy, copyin, copyout
Alexej Sokolov
bsd.quest at googlemail.com
Tue Nov 25 10:26:58 PST 2008
On Tue, Nov 25, 2008 at 06:55:21PM +0100, Max Laier wrote:
> On Tuesday 25 November 2008 18:37:50 Alexej Sokolov wrote:
> > Hello,
> > could anyone please explain to me the difference between functions:
> > copystr() and copyinstr() ?
> >
> > For i386 copyinstr is implemented in assembler. I can not read
> > the assembler code very well.
> >
> > I tried to allocate a memory in space of user process using vm_map_find
> > and then with copystr() I could copy data between user and kernel
> > memory. copystr() seemed to be able to do the same what copyinstr do.
>
> You might get lucky with copystr() if the user page is already resident, but
> if you page fault copystr() will kill the kernel. copyinstr() handles page
> faults.
Thanks a lot! I was lucky because I wired allocated pages before.
>
> --
> /"\ Best regards, | mlaier at freebsd.org
> \ / Max Laier | ICQ #67774661
> X http://pf4freebsd.love2party.net/ | mlaier at EFnet
> / \ ASCII Ribbon Campaign | Against HTML Mail and News
--
Alexej Sokolov <bsd.quest at googlemail.com>
More information about the freebsd-hackers
mailing list