Date: Tue, 25 Nov 2008 18:55:44 +0100 From: Max Laier <max@love2party.net> To: freebsd-hackers@freebsd.org, Alexej Sokolov <bsd.quest@googlemail.com> Subject: Re: copy, copyin, copyout Message-ID: <200811251855.44853.max@love2party.net> In-Reply-To: <20081125173750.GA4131@debian.samsung.router> References: <20081125173750.GA4131@debian.samsung.router>
next in thread | previous in thread | raw e-mail | index | archive | help
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. -- /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811251855.44853.max>