summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/fuse/files/fuse-1.4-kernel-2.6.10.patch')
-rw-r--r--sys-fs/fuse/files/fuse-1.4-kernel-2.6.10.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/sys-fs/fuse/files/fuse-1.4-kernel-2.6.10.patch b/sys-fs/fuse/files/fuse-1.4-kernel-2.6.10.patch
new file mode 100644
index 000000000000..ba129d282d97
--- /dev/null
+++ b/sys-fs/fuse/files/fuse-1.4-kernel-2.6.10.patch
@@ -0,0 +1,29 @@
+diff -pur fuse-1.4.orig/kernel/dir.c fuse-1.4/kernel/dir.c
+--- fuse-1.4.orig/kernel/dir.c 2005-01-02 21:09:09.908015392 +0100
++++ fuse-1.4/kernel/dir.c 2005-01-02 21:10:21.430142376 +0100
+@@ -417,7 +417,12 @@ static int _fuse_permission(struct inode
+ if(!(fc->flags & FUSE_ALLOW_OTHER) && current->fsuid != fc->uid)
+ return -EACCES;
+ else if(fc->flags & FUSE_DEFAULT_PERMISSIONS) {
+- int err = vfs_permission(inode, mask);
++ int err;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
++ err = vfs_permission(inode, mask);
++#else
++ err = generic_permission(inode, mask, NULL);
++#endif
+
+ /* If permission is denied, try to refresh file
+ attributes. This is also needed, because the root
+@@ -426,7 +431,11 @@ static int _fuse_permission(struct inode
+ if(err == -EACCES) {
+ err = fuse_do_getattr(inode);
+ if(!err)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
+ err = vfs_permission(inode, mask);
++#else
++ err = generic_permission(inode, mask, NULL);
++#endif
+ }
+
+ /* FIXME: Need some mechanism to revoke permissions: