Hi Why does copy_from/to_user routines fail if both source and destination are in kernel space. I have a kernel module that: 1. takes some parameters from user space via ioctl (kernel copies arguments with copy_from_user) 2. processes command(s) from user and 3. returns output to user with copy_to_user now i have a kernel thread that wants to talk to same kernel module. basically user space programs will talk to my kernel module with ioctl but kernel threads will call EXPORTed routines. i'll have another set of routines to work with these two interfaces. but can i have the core routines copy processed data back to kernel thread or user space with copy_to_user. or do i have to have some check saying if called from ioctl call copy_to_user otherwise call memcpy? user space interface ^ ---------------|--------------- V kernel <--> kernel module thread thanks - : send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html