Skip to contentSkip to conversation

fix reiser4 compilation for ->permission changes

PATCH In review Christoph Hellwig 2 participants 4 messages Sep 13, 2004

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix reiser4 compilation for ->permission changes

remove reiser4 permission. It only ends up calling generic_permission with no additional bits so it's completely unessecary.

fs/reiser4/inode_ops.c renamed from fs/reiser4/inode_ops.c~ +0 -18
@@ -64,7 +64,6 @@
 static int reiser4_readlink(struct dentry *, char *, int);
 static int reiser4_follow_link(struct dentry *, struct nameidata *);
 static void reiser4_truncate(struct inode *);
-static int reiser4_permission(struct inode *, int, struct nameidata *);
 static int reiser4_setattr(struct dentry *, struct iattr *);
 static int reiser4_getattr(struct vfsmount *mnt, struct dentry *, struct kstat *);
 
@@ -394,22 +393,6 @@
 	reiser4_exit_context(&ctx);
 }
 
-/* ->permission() method in reiser4_inode_operations. */
-static int
-reiser4_permission(struct inode *inode /* object */ ,
-		   int mask,	/* mode bits to check permissions
-				 * for */
-		   struct nameidata *nameidata)
-{
-	/* reiser4_context creation/destruction removed from here,
-	   because permission checks currently don't require this.
-
-	   Permission plugin have to create context itself if necessary. */
-	assert("nikita-1687", inode != NULL);
-
-	return perm_chk(inode, mask, inode, mask);
-}
-
 /* common part of both unlink and rmdir. */
 static int
 unlink_file(struct inode *parent /* parent directory */ ,
@@ -615,7 +598,6 @@
 	.readlink = NULL,
 	.follow_link = NULL,
 	.truncate = reiser4_truncate,	/* d */
-	.permission = reiser4_permission,	/* d */
 	.setattr = reiser4_setattr,	/* d */
 	.getattr = reiser4_getattr,	/* d */
 };
#1 lore raw
Quoted 2 lines · Christoph Hellwig

remove reiser4 permission. It only ends up calling generic_permission with no additional bits so it's completely unessecary.

Actually not. I'm lost in the CPP abuse in reiser4, sorry. Could someone of the namesys folks please remove all the perm_plugin mess? ->permission is the only access checking method for filesystems, everything else is supposed to happen through LSM which may use xattr storage in the filesystem.

#2 lore raw
Quoted 7 lines · Christoph Hellwig
Quoted 2 lines · Christoph Hellwig

remove reiser4 permission. It only ends up calling generic_permission with no additional bits so it's completely unessecary.

Actually not. I'm lost in the CPP abuse in reiser4, sorry. Could someone of the namesys folks please remove all the perm_plugin mess?

yes, if you mean that check_perm() macro.

Quoted 3 lines

->permission is the only access checking method for filesystems, everything else is supposed to happen through LSM which may use xattr storage in the filesystem.

I think what reiser4 needs is exactly the fs-specific per-object permission
check. Is i_op->permission() going to be obsolete? If not, ->permission()
is the best (available) way to call reiser4 permission plugin methods.

Quoted 5 lines

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Signature · 1 line
Alex.
#3 lore raw
Quoted 7 lines · Alex Zarochentsev
Quoted 3 lines

->permission is the only access checking method for filesystems, everything else is supposed to happen through LSM which may use xattr storage in the filesystem.

I think what reiser4 needs is exactly the fs-specific per-object permission
check. Is i_op->permission() going to be obsolete? If not, ->permission()
is the best (available) way to call reiser4 permission plugin methods.

Currently there is no permission checking in reiser4 that's different from generic_permission so don't set a ->permission. If you ever have more checking set it for those objects that want more checking instead of such a useless indirection.