X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fext2%2Facl.c;h=091a3175dce3cb07ddd015032876cec7938cc710;hb=1be35e94e1da3669db492995cd2c8b1a37016b11;hp=d232026b4e317b68a1e7e50d8259989afe3b5ff3;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/fs/ext2/acl.c b/fs/ext2/acl.c index d232026b4..091a3175d 100644 --- a/fs/ext2/acl.c +++ b/fs/ext2/acl.c @@ -8,8 +8,6 @@ #include #include #include -#include -#include #include "ext2.h" #include "xattr.h" #include "acl.h" @@ -163,7 +161,7 @@ ext2_get_acl(struct inode *inode, int type) int retval; if (!test_opt(inode->i_sb, POSIX_ACL)) - return NULL; + return 0; switch(type) { case ACL_TYPE_ACCESS: @@ -292,12 +290,8 @@ ext2_permission(struct inode *inode, int mask, struct nameidata *nd) { int mode = inode->i_mode; - /* Prevent vservers from escaping chroot() barriers */ - if (IS_BARRIER(inode) && !vx_check(0, VX_ADMIN)) - return -EACCES; /* Nobody gets write access to a read-only fs */ - if ((mask & MAY_WRITE) && (IS_RDONLY(inode) || - (nd && MNT_IS_RDONLY(nd->mnt))) && + if ((mask & MAY_WRITE) && IS_RDONLY(inode) && (S_ISREG(mode) || S_ISDIR(mode) || S_ISLNK(mode))) return -EROFS; /* Nobody gets write access to an immutable file */