It is always a better idea to use copy_to_user() function for writing something back to user space buffer. As mentioned in Rubini's books, it take cares of all the issues related to coping across the kernel and user space. If you are doing direct copying to the user buffer without any kernel function used for this purpose, theoretically there should not be any problem except that you can get a page fault, but in case if you are not getting any page fault and the control is returning to user space successfully, then there should be no problem in copying directly, but again saying it is not a preferred way. Use copy_to_user() for smooth execution. Regards, Gaurav. -----Original Message----- From: kernelnewbies-bounce@xxxxxxxxxxxx [mailto:kernelnewbies-bounce@xxxxxxxxxxxx] On Behalf Of Danilo Reinhardt Sent: Tuesday, July 27, 2004 3:02 PM To: Kernel Newbies Subject: _IOWR ioctl Hi, i want to use an read and write ioctl. My problem is that i dont know what i have to do to write something back from kernel to the userland app that has called ioctl()? To exchange data i've a struct with one parameter used as input for the kernel and another as output to the userspace. struct st_cmd_getBridgeInfo { __u32 bridge; // param for kernel char info[4092]; // result to userspace }; #define TIS_IOC_GETBRIDGEINFO _IOWR(0x88, 1, struct st_cmd_getBridgeInfo) I guessed that i have to do it this way, but if i write something to the info array in kernel ive got nothing at userspace. The input to kernel works very well. Do i have to use copy_to_user or something? Any suggestions? Bye Dan -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/