Re: copy_from_user/copy_to_user question

From: Steven Rostedt
Date: Fri Dec 02 2005 - 20:10:17 EST


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


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