The target code wrongly uses netlink to pass user-space buffer pointers. The kernel module sends SCSI commands to user space and receives responses from user-space daemon. So we need bi-directional, high-speed interface between user and kernel space. Currently, there isn't such interface in mainline. For example, mmapped packet and relayfs move data only from kernel to user space. This patchset replaces netlink shared memory between kernel and user spaces. The user-space daemon and the kernel module create shared memory via mmap and use it like ring buffer (like mmapped packet does). The poll system call is used for notification from kernel to user space and the write system call is used for notification from user to kernel space. We use a simple approach so that we easily replace it if we find something better later on (or we implement a generic interface if necessary). This patchset is against the scsi-target git tree and on the top of the following patch: http://marc.theaimsgroup.com/?l=linux-scsi&m=114960851929878&w=2 - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html