Re: Provide example copy_in_user implementation

Russell King (rmk@arm.linux.org.uk)
Tue, 24 Jun 2003 12:01:31 +0100


On Tue, Jun 24, 2003 at 12:25:51PM +0200, Pavel Machek wrote:
> On Út 24-06-03 11:18:20, Russell King wrote:
> > On Tue, Jun 24, 2003 at 12:06:10PM +0200, Pavel Machek wrote:
> > > This patch adds example copy_in_user implementation (copy_in_user is
> > > needed for new ioctl32 implementation, all 64bit archs will need
> > > it)... Please apply,
> >
> > get_user / put_user on byte quantities may be faster than using
> > copy_from_user/copy_to_user on byte quantities. Yes, it may be
> > a generic implementation, but there's no point in purposely making
> > it inefficient.
>
> Actually, it seems that most architectures do...
>
> static inline unsigned long
> __copy_from_user(void *to, const void __user *from, unsigned long n)
> {
> if (__builtin_constant_p(n)) {
> unsigned long ret;
>
> switch (n) {
> case 1:
>
>
> ...so it should be exactly as fast. Ahha, not arm.

Note that ARM isn't 64 bit, I'm not worried about it. Given that code
does get cut'n'pasted about the place, I still think its a good idea.
But its your code...

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/