Miklos Szeredi wrote:Yeah, ioctl, by design, has that potential. Whether it's implemented in kernel or userland, it's gonna access arbitrary memory regions from deep down the implementation, and it can corrupt things, but by giving the responsibility to move data to kernel part of FUSE, we can at least guarantee that it's only gonna ruin the calling address space even when it screws up and when that happens it will be easy to track down by tracing the communication between the kernel and FUSE client. I'm not worried about the client accessing wrong memory regions or even corrupting it. It's pointless to try to protect against that. From the calling process's POV, it runs the same risk whether it calls an in-kernel ioctl or a CUSE one and FUSE already has sufficient protection against allowing unprivileged FS implementation to serve other users. What I'm worried about is the possibility of CUSE client being able to break out of that privilege protection which is currently ensured by the kernel. Also, what about containers? How would it work then? Thanks. -- tejun --
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Arjan van de Ven | [Announce] Development release 0.1 of the LatencyTOP tool |
| Andrew Morton | -mm merge plans for 2.6.23 |
| Greg Kroah-Hartman | [PATCH 020/196] IDE: Convert from class_device to device for ide-tape |
git: | |
| Tantilov, Emil S | RE: [PATCH] net: sk_alloc() should not blindly overwrite memory |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
