A minor, uninvasive change to the vfs will help support external builds of more recent FUSE code. Since Bug 193720: Enable FUSE probably won't make 5.1, this vfs change would at least make it easier for anyone who wants to use/test fuse with RHEL5. (there is another non-critical fuse-related vfs change, "fs subtypes" which would also be nice, but is more invasive & a KABI breaker, so that one is left out) Patch as sent to rhkernel-list on 6/6/07: For Bug 193720: Enable FUSE This is a very minor change to the vfs for upstream fuse, and should not affect anyone else. From: Miklos Szeredi <miklos> Date: Fri, 29 Sep 2006 08:59:35 +0000 (-0700) Subject: [PATCH] vfs: define new lookup flag for chdir X-Git-Tag: v2.6.19-rc1~798 X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=650a898342b3fa21c392c06a2b7010fa19823efa [PATCH] vfs: define new lookup flag for chdir In the "operation does permission checking" model used by fuse, chdir permission is not checked, since there's no chdir method. For this case set a lookup flag, which will be passed to ->permission(), so fuse can distinguish it from permission checks for other operations. Signed-off-by: Miklos Szeredi <miklos> Cc: Al Viro <viro.org.uk> Signed-off-by: Andrew Morton <akpm> Signed-off-by: Linus Torvalds <torvalds> --- Index: linux-2.6.18-20.EL/fs/open.c =================================================================== --- linux-2.6.18-20.EL.orig/fs/open.c +++ linux-2.6.18-20.EL/fs/open.c @@ -546,7 +546,8 @@ asmlinkage long sys_chdir(const char __u struct nameidata nd; int error; - error = __user_walk(filename, LOOKUP_FOLLOW|LOOKUP_DIRECTORY, &nd); + error = __user_walk(filename, + LOOKUP_FOLLOW|LOOKUP_DIRECTORY|LOOKUP_CHDIR, &nd); if (error) goto out; Index: linux-2.6.18-20.EL/include/linux/namei.h =================================================================== --- linux-2.6.18-20.EL.orig/include/linux/namei.h +++ linux-2.6.18-20.EL/include/linux/namei.h @@ -56,6 +56,7 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LA #define LOOKUP_OPEN (0x0100) #define LOOKUP_CREATE (0x0200) #define LOOKUP_ACCESS (0x0400) +#define LOOKUP_CHDIR (0x0800) extern int FASTCALL(__user_walk(const char __user *, unsigned, struct nameidata *)); extern int FASTCALL(__user_walk_fd(int dfd, const char __user *, unsigned, struct nameidata *));
This request was evaluated by Red Hat Kernel Team for inclusion in a Red Hat Enterprise Linux maintenance release, and has moved to bugzilla status POST.
in kernel-2.6.18-32.el5
Confirmed vfs fuse enabler patch is in.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2007-0959.html