Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 526b6780 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'lookup-permissions-cleanup'

* lookup-permissions-cleanup:
  jffs2/jfs/xfs: switch over to 'check_acl' rather than 'permission()'
  ext[234]: move over to 'check_acl' permission model
  shmfs: use 'check_acl' instead of 'permission'
  Make 'check_acl()' a first-class filesystem op
  Simplify exec_permission_lite(), part 3
  Simplify exec_permission_lite() further
  Simplify exec_permission_lite() logic
  Do not call 'ima_path_check()' for each path component
parents 752015d1 18f4c644
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -230,7 +230,7 @@ ext2_set_acl(struct inode *inode, int type, struct posix_acl *acl)
	return error;
}

static int
int
ext2_check_acl(struct inode *inode, int mask)
{
	struct posix_acl *acl = ext2_get_acl(inode, ACL_TYPE_ACCESS);
@@ -246,12 +246,6 @@ ext2_check_acl(struct inode *inode, int mask)
	return -EAGAIN;
}

int
ext2_permission(struct inode *inode, int mask)
{
	return generic_permission(inode, mask, ext2_check_acl);
}

/*
 * Initialize the ACLs of a new inode. Called from ext2_new_inode.
 *
+2 −2
Original line number Diff line number Diff line
@@ -54,13 +54,13 @@ static inline int ext2_acl_count(size_t size)
#ifdef CONFIG_EXT2_FS_POSIX_ACL

/* acl.c */
extern int ext2_permission (struct inode *, int);
extern int ext2_check_acl (struct inode *, int);
extern int ext2_acl_chmod (struct inode *);
extern int ext2_init_acl (struct inode *, struct inode *);

#else
#include <linux/sched.h>
#define ext2_permission NULL
#define ext2_check_acl	NULL
#define ext2_get_acl	NULL
#define ext2_set_acl	NULL

+1 −1
Original line number Diff line number Diff line
@@ -85,6 +85,6 @@ const struct inode_operations ext2_file_inode_operations = {
	.removexattr	= generic_removexattr,
#endif
	.setattr	= ext2_setattr,
	.permission	= ext2_permission,
	.check_acl	= ext2_check_acl,
	.fiemap		= ext2_fiemap,
};
+2 −2
Original line number Diff line number Diff line
@@ -400,7 +400,7 @@ const struct inode_operations ext2_dir_inode_operations = {
	.removexattr	= generic_removexattr,
#endif
	.setattr	= ext2_setattr,
	.permission	= ext2_permission,
	.check_acl	= ext2_check_acl,
};

const struct inode_operations ext2_special_inode_operations = {
@@ -411,5 +411,5 @@ const struct inode_operations ext2_special_inode_operations = {
	.removexattr	= generic_removexattr,
#endif
	.setattr	= ext2_setattr,
	.permission	= ext2_permission,
	.check_acl	= ext2_check_acl,
};
+1 −7
Original line number Diff line number Diff line
@@ -238,7 +238,7 @@ ext3_set_acl(handle_t *handle, struct inode *inode, int type,
	return error;
}

static int
int
ext3_check_acl(struct inode *inode, int mask)
{
	struct posix_acl *acl = ext3_get_acl(inode, ACL_TYPE_ACCESS);
@@ -254,12 +254,6 @@ ext3_check_acl(struct inode *inode, int mask)
	return -EAGAIN;
}

int
ext3_permission(struct inode *inode, int mask)
{
	return generic_permission(inode, mask, ext3_check_acl);
}

/*
 * Initialize the ACLs of a new inode. Called from ext3_new_inode.
 *
Loading