From: Chris Wright Remove security_inode_permission_lite hook fs/namei.c | 2 +- include/linux/security.h | 23 ----------------------- security/dummy.c | 6 ------ 3 files changed, 1 insertion(+), 30 deletions(-) diff -puN fs/namei.c~lsm-3-remove-inode_permission_lite fs/namei.c --- 25/fs/namei.c~lsm-3-remove-inode_permission_lite 2003-06-13 00:54:06.000000000 -0700 +++ 25-akpm/fs/namei.c 2003-06-13 00:54:06.000000000 -0700 @@ -325,7 +325,7 @@ static inline int exec_permission_lite(s return -EACCES; ok: - return security_inode_permission_lite(inode, MAY_EXEC); + return security_inode_permission(inode, MAY_EXEC); } /* diff -puN include/linux/security.h~lsm-3-remove-inode_permission_lite include/linux/security.h --- 25/include/linux/security.h~lsm-3-remove-inode_permission_lite 2003-06-13 00:54:06.000000000 -0700 +++ 25-akpm/include/linux/security.h 2003-06-13 00:54:06.000000000 -0700 @@ -327,16 +327,6 @@ struct swap_info_struct; * @inode contains the inode structure to check. * @mask contains the permission mask. * Return 0 if permission is granted. - * @inode_permission_lite: - * Check permission before accessing an inode. This hook is - * currently only called when checking MAY_EXEC access during - * pathname resolution. The dcache lock is held and thus modules - * that could sleep or contend the lock should return -EAGAIN to - * inform the kernel to drop the lock and try again calling the - * full permission hook. - * @inode contains the inode structure to check. - * @mask contains the permission mask. - * Return 0 if permission is granted. * @inode_setattr: * Check permission before setting file attributes. Note that the kernel * call to notify_change is performed from several locations, whenever @@ -1052,7 +1042,6 @@ struct security_operations { int (*inode_readlink) (struct dentry *dentry); int (*inode_follow_link) (struct dentry *dentry, struct nameidata *nd); int (*inode_permission) (struct inode *inode, int mask); - int (*inode_permission_lite) (struct inode *inode, int mask); int (*inode_setattr) (struct dentry *dentry, struct iattr *attr); int (*inode_getattr) (struct vfsmount *mnt, struct dentry *dentry); void (*inode_delete) (struct inode *inode); @@ -1465,12 +1454,6 @@ static inline int security_inode_permiss return security_ops->inode_permission (inode, mask); } -static inline int security_inode_permission_lite (struct inode *inode, - int mask) -{ - return security_ops->inode_permission_lite (inode, mask); -} - static inline int security_inode_setattr (struct dentry *dentry, struct iattr *attr) { @@ -2097,12 +2080,6 @@ static inline int security_inode_permiss return 0; } -static inline int security_inode_permission_lite (struct inode *inode, - int mask) -{ - return 0; -} - static inline int security_inode_setattr (struct dentry *dentry, struct iattr *attr) { diff -puN security/dummy.c~lsm-3-remove-inode_permission_lite security/dummy.c --- 25/security/dummy.c~lsm-3-remove-inode_permission_lite 2003-06-13 00:54:06.000000000 -0700 +++ 25-akpm/security/dummy.c 2003-06-13 00:54:06.000000000 -0700 @@ -308,11 +308,6 @@ static int dummy_inode_permission (struc return 0; } -static int dummy_inode_permission_lite (struct inode *inode, int mask) -{ - return 0; -} - static int dummy_inode_setattr (struct dentry *dentry, struct iattr *iattr) { return 0; @@ -826,7 +821,6 @@ void security_fixup_ops (struct security set_to_dummy_if_null(ops, inode_readlink); set_to_dummy_if_null(ops, inode_follow_link); set_to_dummy_if_null(ops, inode_permission); - set_to_dummy_if_null(ops, inode_permission_lite); set_to_dummy_if_null(ops, inode_setattr); set_to_dummy_if_null(ops, inode_getattr); set_to_dummy_if_null(ops, inode_delete); _