Re: copy_from_user/copy_to_user question

linux-os (Dick Johnson)
2005-12-06T18:23:35Z

On Tue, 6 Dec 2005, Vinay Venkataraghavan wrote:

>
> Thanks to Steve and everybody who sent such detailed
> and timely responses to my question.
>
> The motivation for the copy to user question is due to
> the handling of ioctl calls in the driver for a chip
> that is widely used. I just could not beleive that
> they would/could commit such a mistake.
>
> It looks like the old driver code still seems to work
> even without performing copy_to_user and
> copy_from_user.
>
> But this brings about another scenario. What if the
> case statement in the ioctl call only needs to have
> access to the members of the structure passed in
> through the arg pointer but does not need to modify
> these values and return values.
>
> Is this still a problem if copy_to_user and
> copy_from_user is not used?
>
> Thanks,
> Vinay

If you __access__(note) user-mode data from the kernel, you __must__
use the appropriate /copy/to/from/get/put/user functions and/or
macros. And, you __must__ not be in a spin-lock, or otherwise have
the interrupts disabled, while doing it. There are no exceptions.

(note)__assess__ means even "peek at".

FYI, there should never even be such a question.

Cheers,
Dick Johnson
Penguin : Linux version 2.6.13.4 on an i686 machine (5589.55 BogoMips).
Warning : 98.36% of all statistics are fiction.
.

****************************************************************
The information transmitted in this message is confidential and may be privileged. Any review, retransmission, dissemination, or other use of this information by persons or entities other than the intended recipient is prohibited. If you are not the intended recipient, please notify Analogic Corporation immediately - by replying to this message or by sending an email to DeliveryErrors@analogic.com - and destroy all copies of this information, including any attachments, without reading or disclosing them.

Thank you.