Merge pull request #140 from truenas/zfs-2.2-build-fix

linux 6.3 compat changes for truenas/zfs-2.2-release
This commit is contained in:
Ameer Hamza 2023-06-28 02:38:51 +05:00 committed by GitHub
commit 1e1523c2e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 5 deletions

View File

@ -105,6 +105,8 @@ zpl_chmod_acl(struct inode *ip)
#if defined(HAVE_IOPS_PERMISSION_USERNS)
extern int zpl_permission(struct user_namespace *userns, struct inode *ip,
int mask);
#elif defined(HAVE_IOPS_PERMISSION_IDMAP)
extern int zpl_permission(struct mnt_idmap *idmap, struct inode *ip, int mask);
#else
extern int zpl_permission(struct inode *ip, int mask);
#endif

View File

@ -123,7 +123,7 @@ secpolicy_vnode_access2(const cred_t *cr, struct inode *ip, uid_t owner,
if ((uid == owner) || (uid == 0))
return (0);
if (zpl_inode_owner_or_capable(kcred->user_ns, ip))
if (zpl_inode_owner_or_capable(zfs_init_idmap, ip))
return (0);
#if defined(CONFIG_USER_NS)

View File

@ -1498,6 +1498,8 @@ static xattr_handler_t zpl_xattr_acl_default_handler = {
int
#if defined(HAVE_IOPS_PERMISSION_USERNS)
zpl_permission(struct user_namespace *userns, struct inode *ip, int mask)
#elif defined(HAVE_IOPS_PERMISSION_IDMAP)
zpl_permission(struct mnt_idmap *idmap, struct inode *ip, int mask)
#else
zpl_permission(struct inode *ip, int mask)
#endif
@ -1513,8 +1515,9 @@ zpl_permission(struct inode *ip, int mask)
*/
if ((ITOZSB(ip)->z_acl_type != ZFS_ACLTYPE_NFSV4) ||
((ITOZ(ip)->z_pflags & ZFS_ACL_TRIVIAL && GENERIC_MASK(mask)))) {
#if defined(HAVE_IOPS_PERMISSION_USERNS)
return (generic_permission(userns, ip, mask));
#if (defined(HAVE_IOPS_PERMISSION_USERNS) || \
defined(HAVE_IOPS_PERMISSION_IDMAP))
return (generic_permission(zfs_init_idmap, ip, mask));
#else
return (generic_permission(ip, mask));
#endif
@ -1531,8 +1534,9 @@ zpl_permission(struct inode *ip, int mask)
* NFSv4 ACE. Pass back to default kernel permissions check.
*/
if (to_check == 0) {
#if defined(HAVE_IOPS_PERMISSION_USERNS)
return (generic_permission(userns, ip, mask));
#if (defined(HAVE_IOPS_PERMISSION_USERNS) || \
defined(HAVE_IOPS_PERMISSION_IDMAP))
return (generic_permission(zfs_init_idmap, ip, mask));
#else
return (generic_permission(ip, mask));
#endif