• S
    selinux: allow context mounts on tmpfs, ramfs, devpts within user namespaces · 01593d32
    Stephen Smalley 提交于
    commit aad82892 ("selinux: Add support for
    unprivileged mounts from user namespaces") prohibited any use of context
    mount options within non-init user namespaces.  However, this breaks
    use of context mount options for tmpfs mounts within user namespaces,
    which are being used by Docker/runc.  There is no reason to block such
    usage for tmpfs, ramfs or devpts.  Exempt these filesystem types
    from this restriction.
    
    Before:
    sh$ userns_child_exec  -p -m -U -M '0 1000 1' -G '0 1000 1' bash
    sh# mount -t tmpfs -o context=system_u:object_r:user_tmp_t:s0:c13 none /tmp
    mount: tmpfs is write-protected, mounting read-only
    mount: cannot mount tmpfs read-only
    
    After:
    sh$ userns_child_exec  -p -m -U -M '0 1000 1' -G '0 1000 1' bash
    sh# mount -t tmpfs -o context=system_u:object_r:user_tmp_t:s0:c13 none /tmp
    sh# ls -Zd /tmp
    unconfined_u:object_r:user_tmp_t:s0:c13 /tmp
    Signed-off-by: NStephen Smalley <sds@tycho.nsa.gov>
    Signed-off-by: NPaul Moore <paul@paul-moore.com>
    01593d32
hooks.c 164.9 KB