Re: copy_from_user/copy_to_user question

Steven Rostedt
2005-12-03T01:10:04Z

On Fri, 2005-12-02 at 14:40 -0800, Vinay Venkataraghavan wrote:
> I have a question regarding copy_to_user and
> copy_from_user, specifically the conditons and
> situations when they can be used.
>
> Firstly, I guess it is always safe to use these
> funtions when making an ioctl call.

It's basically safe whenever you can schedule, and you are running on
behalf of a user task (as appose to a kernel thread).

>
> But my question is: Are there any specific
> circumstances or conditions when these functions don't
> have to be used, but at the same time ensure that no
> page fault occurs and crashes the system.

Sure, they don't need to be used if you don't need to get data to or
from user context.

>
> The reason I ask is, there is some software that I am
> dealing with that just don't use these functions.

What is this code and what is it doing?

>
> 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.

-- Steve