Re: [PATCH] fuse: Add support for fuse stacked I/O

From: Nikhilesh Reddy
Date: Wed Jan 20 2016 - 18:07:48 EST


On 01/18/2016 07:07 PM, Jann Horn wrote:
2016-01-14 0:53 GMT+01:00 Nikhilesh Reddy <reddyn@xxxxxxxxxxxxxx>:
Add support for filesystem stacked read/write of files
when enabled through a userspace init option of FUSE_STACKED_IO.

When FUSE_STACKED_IO is enabled all the reads and writes
to the fuse mount point go directly to the native filesystem
rather than through the fuse daemon. All requests that aren't
read/write still go thought the userspace code.

Maybe I missed it, but how does this guard against kernel stack
overflow and how does it interact with the "sb->s_stack_depth >
FILESYSTEM_MAX_STACK_DEPTH" stacking limit that overlayfs and ecryptfs
use?

As far as I can tell from a quick glance, someone could just stack
lots of FUSE files on top of each other and cause kernel stack
overflow that way, and that's nasty.

Hi
Thanks so much for your comment and for catching this.
I have fixed the code to prevent further stacking and will send it out in the updated version of the patch ( now called fuse passthrough ).

--
Thanks
Nikhilesh Reddy

Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.