Skip to contentSkip to conversation

Copy_to_user and copy_from_user

DISCUSSION Ramesh Sudini 1 participant 1 message Aug 9, 2004

lore
Share & tools
lore
#0 lore raw

Then, how do I make sure that all the data I wanted to be copied is infact copied?? What are the scenarios where copy_to/from_user could fail and how can I avoid it.

Thanks
-Ramesh

Quoted 18 lines

No you cannot call it until all data has been copied. copy_{to,from}_user fails when a fault happens during the copy process. So you simply cannot try again... It will fault again. Well, not 100% true. An other running thread (same mm with the process which copies data) can "fix" the faulty adress space. Bad thread....

Quoted 13 lines · Ramesh Sudini

Hi,

If copy_from_user returns non zero value, then I do not see any driver(for example PPP) try to copy the remaining data. It treats it as an error scenario.

Why is this? Shouldnt it have a while loop and attempt to copy_from_user till all the data is copied??

I am writing a driver and trying to understand what needs to be done in case it returns a non-zero value? I have huge amount of data to be copied from user space Ex: 3000byte messages.

Can somebody suggest me what is the best I could do...(Please cc me personally with your response)

Thanks
Ramesh

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/