Messages in this thread | | | Subject | Re: [Spice-devel] [RFC PATCH 1/1] Add a usbredir kernel module to remotely connect USB devices over IP. | From | Hans de Goede <> | Date | Thu, 2 Jul 2015 13:35:01 +0200 |
| |
Hi,
On 02-07-15 10:45, Oliver Neukum wrote: > On Wed, 2015-07-01 at 10:06 +0100, Daniel P. Berrange wrote: > >> I don't really think it is sensible to be defining & implementing new >> network services which can't support strong encryption and authentication. >> Rather than passing the file descriptor to the kernel and having it do >> the I/O directly, I think it would be better to dissassociate the kernel >> from the network transport, and thus leave all sockets layer data I/O >> to userspace daemons so they can layer in TLS or SASL or whatever else >> is appropriate for the security need. > > Hi, > > this hits a fundamental limit. Block IO must be done entirely in kernel > space or the system will deadlock. The USB stack is part of the block > layer and the SCSI error handling. Thus if you involve user space you > cannot honor memory allocation with GFP_NOFS and you break all APIs > where we pass GFP_NOIO in the USB stack. > > Supposed you need to reset a storage device for error handling. > Your user space programm does a syscall, which allocates memory > and needs to launder pages. It proceeds to write to the storage device > you wish to reset. > > It is the same problem FUSE has with writable mmap. You cannot do > block devices in user space sanely.
So how is this dealt with for usbip ?
Regards,
Hans
| |