Accessing User Space Buffer directly in Kernel code
I am writing a device driver that provides an ioctl interface and read and write operations on its device node. I have a user mode application which talks to the driver through read, write or ioctl interface.
I would need to pass huge amounts of data from the application to the driver and vice versa. Hence, using copy_to_user() and copy_from_user() in the driver is not an exciting option for me since it slows down the execution as well as occupies more memory.
Is there any way i can use the buffer allocated by the application to read/ write data from/to without copying?