X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fjffs2%2Facl.c;h=d98713777a1b62f2aa12f659dd872616d2dbeb4a;hb=604323ca760beebf00a07153706dcbe7128324e0;hp=9728614b89588252431f83ffa454cd1bd89c020d;hpb=cfc8dc6f6f69ede939e09c2af06a01adee577285;p=linux-2.6 diff --git a/fs/jffs2/acl.c b/fs/jffs2/acl.c index 9728614b89..d98713777a 100644 --- a/fs/jffs2/acl.c +++ b/fs/jffs2/acl.c @@ -176,7 +176,7 @@ static void jffs2_iset_acl(struct inode *inode, struct posix_acl **i_acl, struct spin_unlock(&inode->i_lock); } -struct posix_acl *jffs2_get_acl(struct inode *inode, int type) +static struct posix_acl *jffs2_get_acl(struct inode *inode, int type) { struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode); struct posix_acl *acl; @@ -314,7 +314,7 @@ static int jffs2_check_acl(struct inode *inode, int mask) return -EAGAIN; } -int jffs2_permission(struct inode *inode, int mask, struct nameidata *nd) +int jffs2_permission(struct inode *inode, int mask) { return generic_permission(inode, mask, jffs2_check_acl); } @@ -345,8 +345,10 @@ int jffs2_init_acl_pre(struct inode *dir_i, struct inode *inode, int *i_mode) if (!clone) return -ENOMEM; rc = posix_acl_create_masq(clone, (mode_t *)i_mode); - if (rc < 0) + if (rc < 0) { + posix_acl_release(clone); return rc; + } if (rc > 0) jffs2_iset_acl(inode, &f->i_acl_access, clone); @@ -372,7 +374,7 @@ int jffs2_init_acl_post(struct inode *inode) return rc; } - return rc; + return 0; } void jffs2_clear_acl(struct jffs2_inode_info *f)