remove reiser4 permission. It only ends up calling generic_permission
with no additional bits so it's completely unessecary.
--- reiser4/fs/reiser4/inode_ops.c~ 2004-09-13 16:01:33.692057520 +0200
+++ reiser4/fs/reiser4/inode_ops.c 2004-09-13 16:01:48.759766880 +0200
@@ -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 */
};
On Mon, Sep 13, 2004 at 04:02:26PM +0200, Christoph Hellwig wrote:
> 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.
On Mon, Sep 13, 2004 at 04:04:40PM +0200, Christoph Hellwig wrote:
> On Mon, Sep 13, 2004 at 04:02:26PM +0200, Christoph Hellwig wrote:
> > 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.
> ->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.
> -
> 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/
--
Alex.
On Mon, Sep 13, 2004 at 09:09:11PM +0400, Alex Zarochentsev wrote:
> > ->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.