Skip to content
  • Eric W. Biederman's avatar
    userns: Convert vfs posix_acl support to use kuids and kgids · 2f6f0654
    Eric W. Biederman authored
    - In setxattr if we are setting a posix acl convert uids and gids from
      the current user namespace into the initial user namespace, before
      the xattrs are passed to the underlying filesystem.
    
      Untranslatable uids and gids are represented as -1 which
      posix_acl_from_xattr will represent as INVALID_UID or INVALID_GID.
      posix_acl_valid will fail if an acl from userspace has any
      INVALID_UID or INVALID_GID values.  In net this guarantees that
      untranslatable posix acls will not be stored by filesystems.
    
    - In getxattr if we are reading a posix acl convert uids and gids from
      the initial user namespace into the current user namespace.
    
      Uids and gids that can not be tranlsated into the current user namespace
      will be represented as -1.
    
    - Replace e_id in struct posix_acl_entry with an anymouns union of
      e_uid and e_gid.  For the short term retain the e_id field
      until all of the users are converted.
    
    - Don't set struct posix_acl.e_id in ...
    2f6f0654