share memory between user and kernel space instead of copying memory for each ioctl