summaryrefslogtreecommitdiff
blob: ba129d282d9747125352b2cf38ffab9cce28e784 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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: