1. 29 Jan, 2015 1 commit
  2. 23 Jan, 2015 3 commits
  3. 22 Jan, 2015 9 commits
  4. 15 Jan, 2015 3 commits
  5. 08 Jan, 2015 13 commits
  6. 07 Jan, 2015 1 commit
    • Chen Gang's avatar
      s390/timex: fix get_tod_clock_ext() inline assembly · e38f9781
      Chen Gang authored
      For C language, it treats array parameter as a pointer, so sizeof for an
      array parameter is equal to sizeof for a pointer, which causes compiler
      warning (with allmodconfig by gcc 5):
      
        ./arch/s390/include/asm/timex.h: In function 'get_tod_clock_ext':
        ./arch/s390/include/asm/timex.h:76:32: warning: 'sizeof' on array function parameter 'clk' will return size of 'char *' [-Wsizeof-array-argument]
          typedef struct { char _[sizeof(clk)]; } addrtype;
                                        ^
      Can use macro CLOCK_STORE_SIZE instead of all related hard code numbers,
      which also can avoid this warning. And also add a tab to CLOCK_TICK_RATE
      definition to match coding styles.
      
      [heiko.carstens@de.ibm.com]:
      Chen's patch actually fixes a bug within the get_tod_clock_ext() inline assembly
      where we incorrectly tell the compiler that only 8 bytes of memory get changed
      instead of 16 bytes.
      This would allow gcc to generate incorrect code. Right now this doesn't seem to
      be the case.
      Also slightly changed the patch a bit.
      - renamed CLOCK_STORE_SIZE to STORE_CLOCK_EXT_SIZE
      - changed get_tod_clock_ext() to receive a char pointer parameter
      Signed-off-by: default avatarChen Gang <gang.chen.5i5j@gmail.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      e38f9781
  7. 18 Dec, 2014 6 commits
  8. 17 Dec, 2014 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 87c31b39
      Linus Torvalds authored
      Pull user namespace related fixes from Eric Biederman:
       "As these are bug fixes almost all of thes changes are marked for
        backporting to stable.
      
        The first change (implicitly adding MNT_NODEV on remount) addresses a
        regression that was created when security issues with unprivileged
        remount were closed.  I go on to update the remount test to make it
        easy to detect if this issue reoccurs.
      
        Then there are a handful of mount and umount related fixes.
      
        Then half of the changes deal with the a recently discovered design
        bug in the permission checks of gid_map.  Unix since the beginning has
        allowed setting group permissions on files to less than the user and
        other permissions (aka ---rwx---rwx).  As the unix permission checks
        stop as soon as a group matches, and setgroups allows setting groups
        that can not later be dropped, results in a situtation where it is
        possible to legitimately use a group to assign fewer privileges to a
        process.  Which means dropping a group can increase a processes
        privileges.
      
        The fix I have adopted is that gid_map is now no longer writable
        without privilege unless the new file /proc/self/setgroups has been
        set to permanently disable setgroups.
      
        The bulk of user namespace using applications even the applications
        using applications using user namespaces without privilege remain
        unaffected by this change.  Unfortunately this ix breaks a couple user
        space applications, that were relying on the problematic behavior (one
        of which was tools/selftests/mount/unprivileged-remount-test.c).
      
        To hopefully prevent needing a regression fix on top of my security
        fix I rounded folks who work with the container implementations mostly
        like to be affected and encouraged them to test the changes.
      
          > So far nothing broke on my libvirt-lxc test bed. :-)
          > Tested with openSUSE 13.2 and libvirt 1.2.9.
          > Tested-by: Richard Weinberger <richard@nod.at>
      
          > Tested on Fedora20 with libvirt 1.2.11, works fine.
          > Tested-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
      
          > Ok, thanks - yes, unprivileged lxc is working fine with your kernels.
          > Just to be sure I was testing the right thing I also tested using
          > my unprivileged nsexec testcases, and they failed on setgroup/setgid
          > as now expected, and succeeded there without your patches.
          > Tested-by: Serge Hallyn <serge.hallyn@ubuntu.com>
      
          > I tested this with Sandstorm.  It breaks as is and it works if I add
          > the setgroups thing.
          > Tested-by: Andy Lutomirski <luto@amacapital.net> # breaks things as designed :("
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        userns: Unbreak the unprivileged remount tests
        userns; Correct the comment in map_write
        userns: Allow setting gid_maps without privilege when setgroups is disabled
        userns: Add a knob to disable setgroups on a per user namespace basis
        userns: Rename id_map_mutex to userns_state_mutex
        userns: Only allow the creator of the userns unprivileged mappings
        userns: Check euid no fsuid when establishing an unprivileged uid mapping
        userns: Don't allow unprivileged creation of gid mappings
        userns: Don't allow setgroups until a gid mapping has been setablished
        userns: Document what the invariant required for safe unprivileged mappings.
        groups: Consolidate the setgroups permission checks
        mnt: Clear mnt_expire during pivot_root
        mnt: Carefully set CL_UNPRIVILEGED in clone_mnt
        mnt: Move the clear of MNT_LOCKED from copy_tree to it's callers.
        umount: Do not allow unmounting rootfs.
        umount: Disallow unprivileged mount force
        mnt: Update unprivileged remount test
        mnt: Implicitly add MNT_NODEV on remount when it was implicitly added by mount
      87c31b39
    • Linus Torvalds's avatar
      mmu_gather: fix over-eager tlb_flush_mmu_free() calling · f045bbb9
      Linus Torvalds authored
      Dave Hansen reports that commit fb7332a9 ("mmu_gather: move minimal
      range calculations into generic code") caused a performance problem:
      
        "tlb_finish_mmu() goes up about 9x in the profiles (~0.4%->3.6%) and
         tlb_flush_mmu_free() takes about 3.1% of CPU time with the patch
         applied, but does not show up at all on the commit before"
      
      and the reason is that Will moved the test for whether we need to flush
      from tlb_flush_mmu() into tlb_flush_mmu_tlbonly().  But that meant that
      tlb_flush_mmu_free() basically lost that check.
      
      Move it back into tlb_flush_mmu() where it belongs, so that it covers
      both tlb_flush_mmu_tlbonly() _and_ tlb_flush_mmu_free().
      Reported-and-tested-by: default avatarDave Hansen <dave@sr71.net>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f045bbb9
    • Linus Torvalds's avatar
      x86: mm: fix VM_FAULT_RETRY handling · cf3c0a15
      Linus Torvalds authored
      My commit 26178ec1 ("x86: mm: consolidate VM_FAULT_RETRY handling")
      had a really stupid typo: the FAULT_FLAG_USER bit is in the 'flags'
      variable, not the 'fault' variable. Duh,
      
      The one silver lining in this is that Dave finding this at least
      confirms that trinity actually triggers this special path easily, in a
      way normal use does not.
      Reported-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cf3c0a15
    • Linus Torvalds's avatar
      Merge tag 'vfio-v3.19-rc1' of git://github.com/awilliam/linux-vfio · cc669743
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
       - s390 support (Frank Blaschka)
       - Enable iommu-type1 for ARM SMMU (Will Deacon)
      
      * tag 'vfio-v3.19-rc1' of git://github.com/awilliam/linux-vfio:
        drivers/vfio: allow type-1 IOMMU instantiation on top of an ARM SMMU
        vfio: make vfio run on s390
      cc669743