• Eric W. Biederman's avatar
    userns: Support autofs4 interacing with multiple user namespaces · 45634cd8
    Eric W. Biederman authored
    Use kuid_t and kgid_t in struct autofs_info and struct autofs_wait_queue.
    
    When creating directories and symlinks default the uid and gid of
    the mount requester to the global root uid and gid.  autofs4_wait
    will update these fields when a mount is requested.
    
    When generating autofsv5 packets report the uid and gid of the mount
    requestor in user namespace of the process that opened the pipe,
    reporting unmapped uids and gids as overflowuid and overflowgid.
    
    In autofs_dev_ioctl_requester return the uid and gid of the last mount
    requester converted into the calling processes user namespace.  When the
    uid or gid don't map return overflowuid and overflowgid as appropriate,
    allowing failure to find a mount requester to be distinguished from
    failure to map a mount requester.
    
    The uid and gid mount options specifying the user and group of the
    root autofs inode are converted into kuid and kgid as they are parsed
    defaulting to the current uid and current gid of the process that
    mounts autofs.
    
    Mounting of autofs for the present remains confined to processes in
    the initial user namespace.
    
    Cc: Ian Kent <raven@themaw.net>
    Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    45634cd8
autofs_i.h 9.23 KB