[SOLVED] copy_from_user working but copy_to_user not working!
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Print the "ret_val" variable and check its value w.r.t "copy_to_user".
Man page says that return values other than 0 indicate the number of bytes that couldn't
And there are only 7 characters in "buf1" but you are asking it to copy 10.
And in one other scenario its ret_val is 0, But its not able to pass the message to the user space.. compiling without warning everything is fine, I am just getting a String from a function and trying to transfer it o userspace, but this is what its not working for!!
I am just getting a String from a function and trying to transfer it o userspace, but this is what its not working for!!
What do you mean, a String? What is that?
If you have a kernel function which returns a pointer (to a char array), then you cannot return that pointer to userspace and expect it to work. (If it did work, then it would mean userspace applications have direct access to kernel internals. They do not, so it will not work.)
You should not be using ioctl() to transfer arbitrary-length data like strings anyway; that is why read() and write() are there for.