lkml.org 
[lkml]   [2009]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [04/18] fuse: reject O_DIRECT flag also in fuse_create
Greg KH wrote:
> 2.6.27-stable review patch. If anyone has any objections, please let us know.
>
> ------------------
> From: Csaba Henk <csaba@gluster.com>
>
> commit 1b7323965a8c6eee9dc4e345a7ae4bff1dc93149 upstream.
>
> The comment in fuse_open about O_DIRECT:
>
> "VFS checks this, but only _after_ ->open()"
>
> also holds for fuse_create, however, the same kind of check was missing there.
>
> As an impact of this bug, open(newfile, O_RDWR|O_CREAT|O_DIRECT) fails, but a
> stub newfile will remain if the fuse server handled the implied FUSE_CREATE
> request appropriately.
>
> Other impact: in the above situation ima_file_free() will complain to open/free
> imbalance if CONFIG_IMA is set.
>
> Signed-off-by: Csaba Henk <csaba@gluster.com>
> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
> Cc: Harshavardhana <harsha@gluster.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
>
> ---
> fs/fuse/dir.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> --- a/fs/fuse/dir.c
> +++ b/fs/fuse/dir.c
> @@ -401,6 +401,9 @@ static int fuse_create_open(struct inode
> if (flags & O_DIRECT)
> return -EINVAL;
>
> + if (flags & O_DIRECT)
> + return -EINVAL;
> +

I must be missing something. The added part seems to be identical to
the lines just above.

Forgive me if I am totally misreading the diff.

David Daney


> forget_req = fuse_get_req(fc);
> if (IS_ERR(forget_req))
> return PTR_ERR(forget_req);
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>



\
 
 \ /
  Last update: 2009-12-17 02:51    [W:0.078 / U:0.920 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site