• Linus Torvalds's avatar
    Merge branch 'CVE-2014-7975' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux · 0ef3a56b
    Linus Torvalds authored
    Pull do_umount fix from Andy Lutomirski:
     "This fix really ought to be safe.  Inside a mountns owned by a
      non-root user namespace, the namespace root almost always has
      MNT_LOCKED set (if it doesn't, then there's a bug, because rootfs
      could be exposed).  In that case, calling umount on "/" will return
      -EINVAL with or without this patch.
    
      Outside a userns, this patch will have no effect.  may_mount, required
      by umount, already checks
         ns_capable(current->nsproxy->mnt_ns->user_ns, CAP_SYS_ADMIN)
      so an additional capable(CAP_SYS_ADMIN) check will have no effect.
    
      That leaves anything that calls umount on "/" in a non-root userns
      while chrooted.  This is the case that is currently broken (it
      remounts ro, which shouldn't be allowed) and that my patch changes to
      -EPERM.  If anything relies on *that*, I'd be surprised"
    
    * 'CVE-2014-7975' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux:
      fs: Add a missing permission check to do_umount
    0ef3a56b
namespace.c 77 KB