Re: copy_from_user/copy_to_user question

Heiko Carstens
2005-12-03T09:43:37Z

> > > > Secondly, they seem to use memcpy as opposed to using
> > > > copy_to_user/copy_from_user which is also very
> > > > dangerous.
> > >
> > > If they are grabbing data from user context into kernel (or vise versa)
> > > that could easily cause an oops. Not to mention it is a security risk.
> >
> > Not to mention it simply won't work on a many platforms, no matter what...
>
> Hmm, I've only worked with a few platforms (i386, x86_64, ppc, mips, and
> a little arm but I don't remember that much). I believe that a memcpy
> could work on all these platforms (error prone of course, but if the
> memory is mapped its OK). When entering a system call, the kernel still
> has access to the memory locations assigned to the user.

Won't work at all on platforms that have distinct address spaces for user
and kernel space. E.g. on s390/s390x it wouldn't work. And yes, there are
special instructions to copy data between address spaces.

Heiko