1. 17 Dec, 2014 13 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
    • Linus Torvalds's avatar
      Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 9f3e1512
      Linus Torvalds authored
      Pull virtio updates from Rusty Russell:
       "A balloon enhancement, and a minor race-on-module-unload theoretical
        bug which doesn't merit cc: stable.
      
        All the exciting stuff went via MST this cycle"
      
      * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        virtio_balloon: free some memory from balloon on OOM
        virtio_balloon: return the amount of freed memory from leak_balloon()
        virtio_blk: fix race at module removal
        virtio: Fix comment typo 'CONFIG_S_FAILED'
      9f3e1512
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 2efda904
      Linus Torvalds authored
      Pull thermal management update from Zhang Rui:
       "Summary:
      
         - of-thermal extension to allow drivers to register and use its
           functionality in a better way, without exploiting thermal core.
           From Lukasz Majewski.
      
         - Fix a bug in intel_soc_dts_thermal driver which calls a sleep
           function in interrupt handler.  From Maurice Petallo.
      
         - add a thermal UAPI header file for exporting the thermal generic
           netlink information to user-space.  From Florian Fainelli.
      
         - First round of refactoring in Exynos driver.  Bartlomiej and Lukasz
           are attempting to make it lean and easier to understand.
      
         - New thermal driver for Rockchip (rk3288), with support for DT
           thermal.  From Caesar Wang.
      
         - New thermal driver for Nvidia, Tegra124 SOCTHERM driver, with
           support for DT thermal.  From Mikko Perttunen.
      
         - New cooling device, based on common clock framework.  From Eduardo
           Valentin.
      
         - a couple of small fixes in thermal core framework.  From Srinivas
           Pandruvada, Javi Merino, Luis Henriques.
      
         - Dropping Armada A375-Z1 SoC thermal support as the chip is not in
           the market, armada folks decided to drop its support.
      
         - a couple of small fixes and cleanups in int340x thermal driver"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (58 commits)
        thermal: provide an UAPI header file
        Thermal/int340x: Clear the error value of the last acpi_bus_get_device() call
        thermal/powerclamp: add id for braswell cpu
        thermal: Intel SoC DTS: Don't do thermal zone update inside spin_lock
        Thermal: fix platform_no_drv_owner.cocci warnings
        Thermal/int340x: avoid unnecessary pointer casting
        thermal: int3403: Delete a check before thermal_zone_device_unregister()
        thermal/int3400: export uuids
        thermal: of: Extend current of-thermal.c code to allow setting emulated temp
        thermal: of: Extend of-thermal to export table of trip points
        thermal: of: Rename struct __thermal_trip to struct thermal_trip
        thermal: of: Extend of-thermal.c to provide check if trip point is valid
        thermal: of: Extend of-thermal.c to provide number of trip points
        thermal: Fix error path in thermal_init()
        thermal: lock the thermal zone when switching governors
        thermal: core: ignore invalid trip temperature
        thermal: armada: Remove support for A375-Z1 SoC
        thermal: rockchip: add driver for thermal
        dt-bindings: document Rockchip thermal
        thermal: exynos: remove exynos_tmu_data.h include
        ...
      2efda904
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-3.19-rc1' of... · 0b4954c4
      Linus Torvalds authored
      Merge tag 'pwm/for-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "There are two new drivers, one for the BCM2835 (Raspberry Pi) and one
        used in conjunction with the LCD controller on various Atmel SoCs.
        The Samsung PWM driver can now be built for 64-bit ARM (Exynos7).
      
        A couple of fixes have been applied to the FTM PWM driver and system
        sleep support was added"
      
      * tag 'pwm/for-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: atmel-hlcdc: add at91sam9x5 and sama5d3 errata handling
        pwm: ftm: Add Power Management support for FTM PWM
        pwm: ftm: Add regmap rbtree type cache support
        pwm: ftm: Correctly track usage count
        pwm: samsung: Allow Samsung PWM driver to be enabled on Exynos7
        pwm: add DT bindings documentation for atmel-hlcdc-pwm driver
        pwm: add support for atmel-hlcdc-pwm device
        pwm: Add BCM2835 PWM driver
      0b4954c4
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · d797da41
      Linus Torvalds authored
      Pull input subsystem updates from Dmitry Torokhov:
       "Two new drivers for Elan hardware (for I2C touchpad and touchscreen
        found in several Chromebooks and other devices), a driver for Goodix
        touch panel, and small fixes to Cypress I2C trackpad and other input
        drivers.
      
        Also we switched to use __maybe_unused instead of gating suspend/
        resume code with #ifdef guards to get better compile coverage"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (27 commits)
        Input: gpio_keys - fix warning regarding uninitialized 'button' variable
        Input: add support for Elan eKTH I2C touchscreens
        Input: gpio_keys - fix warning regarding uninitialized  'irq' variable
        Input: cyapa - use 'error' for error codes
        Input: cyapa - fix resuming the device
        Input: gpio_keys - add device tree support for interrupt only keys
        Input: amikbd - allocate temporary keymap buffer on the stack
        Input: amikbd - fix build if !CONFIG_HW_CONSOLE
        Input: lm8323 - missing error check in lm8323_set_disable()
        Input: initialize device counter variables with -1
        Input: initialize input_no to -1 to avoid subtraction
        Input: i8042 - do not try to load on Intel NUC D54250WYK
        Input: atkbd - correct MSC_SCAN events for force_release keys
        Input: cyapa - switch to using managed resources
        Input: lifebook - use "static inline" instead of "inline" in lifebook.h
        Input: touchscreen - use __maybe_unused instead of ifdef around suspend/resume
        Input: mouse - use __maybe_unused instead of ifdef around suspend/resume
        Input: misc - use __maybe_unused instead of ifdef around suspend/resume
        Input: cap11xx - support for irq-active-high option
        Input: cap11xx - add support for various cap11xx devices
        ...
      d797da41
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20141215' of git://git.infradead.org/linux-mtd · d6666be6
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       "Summary:
         - Add device tree support for DoC3
      
         - SPI NOR:
              Refactoring, for better layering between spi-nor.c and its
              driver users (e.g., m25p80.c)
      
              New flash device support
      
              Support 6-byte ID strings
      
         - NAND:
              New NAND driver for Allwinner SoC's (sunxi)
      
              GPMI NAND: add support for raw (no ECC) access, for testing
              purposes
      
              Add ATO manufacturer ID
      
              A few odd driver fixes
      
         - MTD tests:
              Allow testers to compensate for OOB bitflips in oobtest
      
              Fix a torturetest regression
      
         - nandsim: Support longer ID byte strings
      
        And more"
      
      * tag 'for-linus-20141215' of git://git.infradead.org/linux-mtd: (63 commits)
        mtd: tests: abort torturetest on erase errors
        mtd: physmap_of: fix potential NULL dereference
        mtd: spi-nor: allow NULL as chip name and try to auto detect it
        mtd: nand: gpmi: add raw oob access functions
        mtd: nand: gpmi: add proper raw access support
        mtd: nand: gpmi: add gpmi_copy_bits function
        mtd: spi-nor: factor out write_enable() for erase commands
        mtd: spi-nor: add support for s25fl128s
        mtd: spi-nor: remove the jedec_id/ext_id
        mtd: spi-nor: add id/id_len for flash_info{}
        mtd: nand: correct the comment of function nand_block_isreserved()
        jffs2: Drop bogus if in comment
        mtd: atmel_nand: replace memcpy32_toio/memcpy32_fromio with memcpy
        mtd: cafe_nand: drop duplicate .write_page implementation
        mtd: m25p80: Add support for serial flash Spansion S25FL132K
        MTD: m25p80: fix inconsistency in m25p_ids compared to spi_nor_ids
        mtd: spi-nor: improve wait-till-ready timeout loop
        mtd: delete unnecessary checks before two function calls
        mtd: nand: omap: Fix NAND enumeration on 3430 LDP
        mtd: nand: add ATO manufacturer info
        ...
      d6666be6
    • Linus Torvalds's avatar
      Merge tag 'microblaze-3.19-rc1' of git://git.monstr.eu/linux-2.6-microblaze · 0ea90b9e
      Linus Torvalds authored
      Pull Microblaze fix from Michal Simek:
       "Fix mmap for cache coherent memory"
      
      * tag 'microblaze-3.19-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Fix mmap for cache coherent memory
      0ea90b9e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 5f5425ef
      Linus Torvalds authored
      Pull security subsystem fixes from James Morris.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        KEYS: remove a bogus NULL check
        ima: Fix build failure on powerpc when TCG_IBMVTPM dependencies are not met
        KEYS: Fix stale key registration at error path
      5f5425ef
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · c103b21c
      Linus Torvalds authored
      Pull fuse update from Miklos Szeredi:
       "The first part makes sure we don't hold up umount with pending async
        requests.  In addition to being a cleanup, this is a small behavioral
        change (for the better) and unlikely to break anything.
      
        The second part prepares for a cleanup of the fuse device I/O code by
        adding a helper for simple request submission, with some savings in
        line numbers already realized"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: use file_inode() in fuse_file_fallocate()
        fuse: introduce fuse_simple_request() helper
        fuse: reduce max out args
        fuse: hold inode instead of path after release
        fuse: flush requests on umount
        fuse: don't wake up reserved req in fuse_conn_kill()
      c103b21c
    • Lars-Peter Clausen's avatar
      microblaze: Fix mmap for cache coherent memory · 3a8e3265
      Lars-Peter Clausen authored
      When running in non-cache coherent configuration the memory that was
      allocated with dma_alloc_coherent() has a custom mapping and so there is no
      1-to-1 relationship between the kernel virtual address and the PFN. This
      means that virt_to_pfn() will not work correctly for those addresses and the
      default mmap implementation in the form of dma_common_mmap() will map some
      random, but not the requested, memory area.
      
      Fix this by providing a custom mmap implementation that looks up the PFN
      from the page table rather than using virt_to_pfn.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
      3a8e3265
  2. 16 Dec, 2014 27 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 603ba7e4
      Linus Torvalds authored
      Pull vfs pile #2 from Al Viro:
       "Next pile (and there'll be one or two more).
      
        The large piece in this one is getting rid of /proc/*/ns/* weirdness;
        among other things, it allows to (finally) make nameidata completely
        opaque outside of fs/namei.c, making for easier further cleanups in
        there"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        coda_venus_readdir(): use file_inode()
        fs/namei.c: fold link_path_walk() call into path_init()
        path_init(): don't bother with LOOKUP_PARENT in argument
        fs/namei.c: new helper (path_cleanup())
        path_init(): store the "base" pointer to file in nameidata itself
        make default ->i_fop have ->open() fail with ENXIO
        make nameidata completely opaque outside of fs/namei.c
        kill proc_ns completely
        take the targets of /proc/*/ns/* symlinks to separate fs
        bury struct proc_ns in fs/proc
        copy address of proc_ns_ops into ns_common
        new helpers: ns_alloc_inum/ns_free_inum
        make proc_ns_operations work with struct ns_common * instead of void *
        switch the rest of proc_ns_operations to working with &...->ns
        netns: switch ->get()/->put()/->install()/->inum() to working with &net->ns
        make mntns ->get()/->put()/->install()/->inum() work with &mnt_ns->ns
        common object embedded into various struct ....ns
      603ba7e4
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 31f48fc8
      Linus Torvalds authored
      Pull isofs and reiserfs fixes from Jan Kara:
       "A reiserfs and an isofs fix.  They arrived after I sent you my first
        pull request and I don't want to delay them unnecessarily till rc2"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        isofs: Fix infinite looping over CE entries
        reiserfs: destroy allocated commit workqueue
      31f48fc8
    • Linus Torvalds's avatar
      Merge branch 'for-3.19' of git://linux-nfs.org/~bfields/linux · 0b233b7c
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "A comparatively quieter cycle for nfsd this time, but still with two
        larger changes:
      
         - RPC server scalability improvements from Jeff Layton (using RCU
           instead of a spinlock to find idle threads).
      
         - server-side NFSv4.2 ALLOCATE/DEALLOCATE support from Anna
           Schumaker, enabling fallocate on new clients"
      
      * 'for-3.19' of git://linux-nfs.org/~bfields/linux: (32 commits)
        nfsd4: fix xdr4 count of server in fs_location4
        nfsd4: fix xdr4 inclusion of escaped char
        sunrpc/cache: convert to use string_escape_str()
        sunrpc: only call test_bit once in svc_xprt_received
        fs: nfsd: Fix signedness bug in compare_blob
        sunrpc: add some tracepoints around enqueue and dequeue of svc_xprt
        sunrpc: convert to lockless lookup of queued server threads
        sunrpc: fix potential races in pool_stats collection
        sunrpc: add a rcu_head to svc_rqst and use kfree_rcu to free it
        sunrpc: require svc_create callers to pass in meaningful shutdown routine
        sunrpc: have svc_wake_up only deal with pool 0
        sunrpc: convert sp_task_pending flag to use atomic bitops
        sunrpc: move rq_cachetype field to better optimize space
        sunrpc: move rq_splice_ok flag into rq_flags
        sunrpc: move rq_dropme flag into rq_flags
        sunrpc: move rq_usedeferral flag to rq_flags
        sunrpc: move rq_local field to rq_flags
        sunrpc: add a generic rq_flags field to svc_rqst and move rq_secure to it
        nfsd: minor off by one checks in __write_versions()
        sunrpc: release svc_pool_map reference when serv allocation fails
        ...
      0b233b7c
    • Linus Torvalds's avatar
      Merge tag 'iommu-config-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6f51ee70
      Linus Torvalds authored
      Pull ARM SoC/iommu configuration update from Arnd Bergmann:
       "The iomm-config branch contains work from Will Deacon, quoting his
        description:
      
          This series adds automatic IOMMU and DMA-mapping configuration for
          OF-based DMA masters described using the generic IOMMU devicetree
          bindings. Although there is plenty of future work around splitting up
          iommu_ops, adding default IOMMU domains and sorting out automatic IOMMU
          group creation for the platform_bus, this is already useful enough for
          people to port over their IOMMU drivers and start using the new probing
          infrastructure (indeed, Marek has patches queued for the Exynos IOMMU).
      
        The branch touches core ARM and IOMMU driver files, and the respective
        maintainers (Russell King and Joerg Roedel) agreed to have the
        contents merged through the arm-soc tree.
      
        The final version was ready just before the merge window, so we ended
        up delaying it a bit longer than the rest, but we don't expect to see
        regressions because this is just additional infrastructure that will
        get used in drivers starting in 3.20 but is unused so far"
      
      * tag 'iommu-config-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        iommu: store DT-probed IOMMU data privately
        arm: dma-mapping: plumb our iommu mapping ops into arch_setup_dma_ops
        arm: call iommu_init before of_platform_populate
        dma-mapping: detect and configure IOMMU in of_dma_configure
        iommu: fix initialization without 'add_device' callback
        iommu: provide helper function to configure an IOMMU for an of master
        iommu: add new iommu_ops callback for adding an OF device
        dma-mapping: replace set_arch_dma_coherent_ops with arch_setup_dma_ops
        iommu: provide early initialisation hook for IOMMU drivers
      6f51ee70
    • Linus Torvalds's avatar
      Merge tag 'dt2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 205dc205
      Linus Torvalds authored
      Pull ARM SoC DT updates part 2 from Arnd Bergmann:
       "This is a follow-up to the early ARM SoC DT changes, with additional
        content that has external dependencies:
      
         - The Tegra IOMMU DT support depends on changes from the iommu tree,
           plus the contents of the arm-soc drivers branch
         - The MVEBU PHY support depends on changes from the phy tree
         - The AT91 DT support depends on changes from the RTC and DMA-slave
           trees
      
        All of these changes just enable additional devices for existing
        platforms"
      
      * tag 'dt2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: tegra: Enable IOMMU for display controllers on Tegra124
        ARM: tegra: Enable IOMMU for display controllers on Tegra114
        ARM: tegra: Enable IOMMU for display controllers on Tegra30
        ARM: tegra: Add memory controller support for Tegra124
        ARM: tegra: Add memory controller support for Tegra114
        ARM: tegra: Add memory controller support for Tegra30
        ARM: tegra: Add APB_MISC_GP as a MIPI pad control bank
        ARM: mvebu: add PHY support to the dts for the USB controllers on Armada 375
        ARM: mvebu: add Device Tree description of USB cluster controller on Armada 375
        ARM: at91/dt: at91sam9g45: add ISI node
        ARM: at91/dt: enable the RTT block on the at91sam9m10g45ek board
        ARM: at91/dt: enable the RTT block on the sam9g20ek board
        ARM: at91/dt: add GPBR nodes
        ARM: at91/dt: add RTT nodes to at91 dtsis
        ARM: at91/dt: at91sam9rl: add rtc
        ARM: at91: fix GPLv2 wording
        ARM: at91/dt: sama5d4: add DMA support
        ARM: at91/dt: sama5d4: use macro instead of numeric value
      205dc205
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 94bbdb63
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Here are the first arm-soc bug fixes.  Most of these are OMAP related
        fixes for regressions or minor bugs.  Aside from that, there are a few
        defconfig changes for various platforms"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        iommu/exynos: Fix arm64 allmodconfig build
        ARM: defconfigs: use CONFIG_CPUFREQ_DT
        ARM: omap2plus_defconfig: Enable AHCI_PLATFORM driver
        ARM: dts: am437x-sk-evm.dts: fix LCD timings
        ARM: dts: dra7-evm: Update SMPS7 (VDD_CORE) max voltage to match DM
        ARM: dts: dra7-evm: Fix typo in SMPS6 (VDD_GPU) max voltage
        ARM: OMAP2+: AM43x: Add ID for ES1.2
        ARM: dts: am437x-sk: fix lcd enable pin mux data
        ARM: dts: Fix gpmc regression for omap 2430sdp smc91x
        Revert "ARM: shmobile: multiplatform: add Audo DMAC peri peri support on defconfig"
        ARM: dts: dra7: fix DSS PLL clock mux registers
        ARM: dts: DRA7: wdt: Fix compatible property for watchdog node
        ARM: OMAP2+: clock: remove unused function prototype
      94bbdb63
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 36c0a48f
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "Given that my availability next week is likely to be poor, here are
        three arm64 fixes to resolve some issues introduced by features merged
        last week.  I was going to wait until -rc1, but it doesn't make much
        sense to sit on fixes.
      
        Fix some fallout introduced during the merge window:
      
         - Build failure when PM_SLEEP is disabled but CPU_IDLE is enabled
         - Compiler warning from page table dumper w/ 48-bit VAs
         - Erroneous page table truncation in reported dump"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: dump: don't skip final region
        arm64: mm: dump: fix shift warning
        arm64: psci: Fix build breakage without PM_SLEEP
      36c0a48f
    • Linus Torvalds's avatar
      Merge tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux · a643fc72
      Linus Torvalds authored
      Pull Xtensa fixes from Chris Zankel:
       - fix nommu support
       - remove s6000 variant and s6105 platform
       - fix permissions for kmapped pages so that copy_to_user_page works with them
       - add power management menu to Kconfig to allow use of runtime PM
       - disable linker optimizations because of a linker bug
       - fix sparse error
      
      * tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux:
        xtensa: disable link optimization
        xtensa/uaccess: fix sparse errors
        xtensa: fix kmap_prot definition
        xtensa: add power management menu to Kconfig
        xtensa: remove s6000 variant and s6105 platform
        xtensa: make PLATFORM_DEFAULT_MEM parameters configurable
        xtensa: nommu: clean up memory map dump
        xtensa: nommu: reserve memory below PLATFORM_DEFAULT_MEM_START
        xtensa: nommu: set up cache and atomctl in initialize_mmu
        xtensa: move vecbase SR initialization to _startup
        xtensa: nommu: fix uImage load address
        xtensa: nommu: fix load address definitions
        xtensa: nommu: fix Image.elf reset code and ld script
        xtensa: nommu: add MMU dependency to DEBUG_TLB_SANITY
        xtensa: nommu: don't build most of the cache flushing code
        xtensa: nommu: don't provide arch_get_unmapped_area
        xtensa: nommu: provide MAP_UNINITIALIZED definition
        xtensa: nommu: provide _PAGE_CHG_MASK definition
        xtensa: nommu: provide __invalidate_dcache_page_alias stub
        xtensa: nommu: move init_mmu stub to nommu_context.h
      a643fc72
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 0db2812a
      Linus Torvalds authored
      Pull arch/tile updates from Chris Metcalf:
       "Note that one of the changes converts my old cmetcalf@tilera.com email
        in MAINTAINERS to the cmetcalf@ezchip.com email that you see on this
        email"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        arch/tile: update MAINTAINERS email to EZchip
        tile: avoid undefined behavior with regs[TREG_TP] etc
        arch: tile: kernel: kgdb.c: Use memcpy() instead of pointer copy one by one
        tile: Use the more common pr_warn instead of pr_warning
        arch: tile: gxio: Export symbols for module using in 'mpipe.c'
        arch: tile: kernel: signal.c: Use __copy_from/to_user() instead of __get/put_user()
      0db2812a
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.19-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · eb64c3c6
      Linus Torvalds authored
      Pull additional xen update from David Vrabel:
       "Xen: additional features for 3.19-rc0
      
         - Linear p2m for x86 PV guests which simplifies the p2m code,
           improves performance and will allow for > 512 GB PV guests in the
           future.
      
        A last-minute, configuration specific issue was discovered with this
        change which is why it was not included in my previous pull request.
        This is now been fixed and tested"
      
      * tag 'stable/for-linus-3.19-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: switch to post-init routines in xen mmu.c earlier
        Revert "swiotlb-xen: pass dev_addr to swiotlb_tbl_unmap_single"
        xen: annotate xen_set_identity_and_remap_chunk() with __init
        xen: introduce helper functions to do safe read and write accesses
        xen: Speed up set_phys_to_machine() by using read-only mappings
        xen: switch to linear virtual mapped sparse p2m list
        xen: Hide get_phys_to_machine() to be able to tune common path
        x86: Introduce function to get pmd entry pointer
        xen: Delay invalidating extra memory
        xen: Delay m2p_override initialization
        xen: Delay remapping memory of pv-domain
        xen: use common page allocation function in p2m.c
        xen: Make functions static
        xen: fix some style issues in p2m.c
      eb64c3c6
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-3.19-rc1' of... · 61de8e53
      Linus Torvalds authored
      Merge tag 'linux-kselftest-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest update from Shuah Khan:
       "kselftest updates for 3.19-rc1:
      
         - kcmp test include file cleanup
         - kcmp change to build on all architectures
         - A light weight kselftest framework that provides a set of
           interfaces for tests to use to report results.  In addition,
           several tests are updated to use the framework.
         - A new runtime system size test that prints the amount of RAM that
           the currently running system is using"
      
      * tag 'linux-kselftest-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftest: size: Add size test for Linux kernel
        selftests/kcmp: Always try to build the test
        selftests/kcmp: Don't include kernel headers
        kcmp: Move kcmp.h into uapi
        selftests/timers: change test to use ksft framework
        selftests/kcmp: change test to use ksft framework
        selftests/ipc: change test to use ksft framework
        selftests/breakpoints: change test to use ksft framework
        selftests: add kselftest framework for uniform test reporting
        selftests/user: move test out of Makefile into a shell script
        selftests/net: move test out of Makefile into a shell script
      61de8e53
    • Linus Torvalds's avatar
      Merge tag 'trace-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · a7c180aa
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "As the merge window is still open, and this code was not as complex as
        I thought it might be.  I'm pushing this in now.
      
        This will allow Thomas to debug his irq work for 3.20.
      
        This adds two new features:
      
        1) Allow traceopoints to be enabled right after mm_init().
      
           By passing in the trace_event= kernel command line parameter,
           tracepoints can be enabled at boot up.  For debugging things like
           the initialization of interrupts, it is needed to have tracepoints
           enabled very early.  People have asked about this before and this
           has been on my todo list.  As it can be helpful for Thomas to debug
           his upcoming 3.20 IRQ work, I'm pushing this now.  This way he can
           add tracepoints into the IRQ set up and have users enable them when
           things go wrong.
      
        2) Have the tracepoints printed via printk() (the console) when they
           are triggered.
      
           If the irq code locks up or reboots the box, having the tracepoint
           output go into the kernel ring buffer is useless for debugging.
           But being able to add the tp_printk kernel command line option
           along with the trace_event= option will have these tracepoints
           printed as they occur, and that can be really useful for debugging
           early lock up or reboot problems.
      
        This code is not that intrusive and it passed all my tests.  Thomas
        tried them out too and it works for his needs.
      
         Link: http://lkml.kernel.org/r/20141214201609.126831471@goodmis.org"
      
      * tag 'trace-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Add tp_printk cmdline to have tracepoints go to printk()
        tracing: Move enabling tracepoints to just after rcu_init()
      a7c180aa
    • Arnd Bergmann's avatar
      Merge tag 'renesas-defconfig-fixes-for-v3.19' of... · 5f1b2953
      Arnd Bergmann authored
      Merge tag 'renesas-defconfig-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
      
      Pull "Renesas ARM Based SoC Defconfig Fixes for v3.19" from Simon Horman:
      
      * Revert change enabling RCAR_AUDMAC_PP in shmobile_defconfig
      
        Unfortunately enabling RCAR_AUDMAC_PP support this patch breaks dmaengine
        support on R-Car Gen2 boards. This should be resolved by driver updates
        in v3.20. But v3.19 was too early for this defconfig change.
      
      * tag 'renesas-defconfig-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
        Revert "ARM: shmobile: multiplatform: add Audo DMAC peri peri support on defconfig"
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      5f1b2953
    • Mark Brown's avatar
      iommu/exynos: Fix arm64 allmodconfig build · 20911ce6
      Mark Brown authored
      The Exynos IOMMU driver uses the ARM specific dmac_flush_range() and
      outer_flush_range() functions. This breaks the build on arm64 allmodconfig
      in -next since support has been merged for some Exynos ARMv8 SoCs. Add a
      dependency on ARM to keep things building until either the driver has the
      ARM dependencies removed or the ARMv8 architecture code implements these
      ARM specific APIs.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      20911ce6
    • Chris Zankel's avatar
      xtensa: disable link optimization · 1f2fdbd0
      Chris Zankel authored
      The default linker behavior is to optimize identical literal values
      and remove unnecessary overhead. However, because of a bug in the
      linker, this currently results in an error ('call target out of range').
      
      Disable link-time optimizations per default until there is a fix
      for the linker and add the option to iss_defconfig.
      Signed-off-by: default avatarChris Zankel <chris@zankel.net>
      1f2fdbd0
    • Dan Carpenter's avatar
      KEYS: remove a bogus NULL check · 5057975a
      Dan Carpenter authored
      We already checked if "desc" was NULL at the beginning of the function
      and we've dereferenced it so this causes a static checker warning.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarJames Morris <james.l.morris@oracle.com>
      5057975a
    • Dmitry Torokhov's avatar
      Merge branch 'next' into for-linus · f20c86cd
      Dmitry Torokhov authored
      Prepare input updates for 3.19.
      f20c86cd
    • Michael S. Tsirkin's avatar
      xtensa/uaccess: fix sparse errors · 4255a8e1
      Michael S. Tsirkin authored
      virtio wants to read bitwise types from userspace using get_user.  At the
      moment this triggers sparse errors, since the value is passed through an
      integer.
      
      Fix that up using __force.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarChris Zankel <chris@zankel.net>
      4255a8e1
    • Chris Zankel's avatar
      Merge tag 'xtensa-for-next-20141213' of git://github.com/jcmvbkbc/linux-xtensa into for_next · 2cb54e84
      Chris Zankel authored
      Xtensa improvements for 3.19:
      
      - fix permissions for kmapped pages so that copy_to_user_page works with
        them;
      - add power management menu to Kconfig to allow use of runtime PM.
      2cb54e84
    • Chris Zankel's avatar
      Merge tag 'v3.18' into for_next · 865566ed
      Chris Zankel authored
      Linux 3.18
      865566ed
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 2dbfca5a
      Linus Torvalds authored
      Pull LED subsystem update from Bryan Wu:
       "We got some cleanup and driver for LP8860 as well as some patches for
        LED Flash Class"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
        leds: lp8860: Fix module dependency
        leds: lp8860: Introduce TI lp8860 4 channel LED driver
        leds: Add support for setting brightness in a synchronous way
        leds: implement sysfs interface locking mechanism
        leds: syscon: handle multiple syscon instances
        leds: delete copy/paste mistake
        leds: regulator: Convert to devm_regulator_get_exclusive
      2dbfca5a
    • Linus Torvalds's avatar
      Merge tag 'staging-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · dab363f9
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here's the big staging tree pull request for 3.19-rc1.
      
        We continued to delete more lines than were added, always a good
        thing, but not at a huge rate this release, only about 70k lines
        removed overall mostly from removing the horrid bcm driver.
      
        Lots of normal staging driver cleanups and fixes all over the place,
        well over a thousand of them, the shortlog shows all the horrid
        details.
      
        The "contentious" thing here is the movement of the Android binder
        code out of staging into the "real" part of the kernel.  This is code
        that has been stable for a few years now and is working as-is in the
        tens of millions of devices with no issues.  Yes, the code is horrid,
        and the userspace api leaves a lot to be desired, but it's not going
        to change due to legacy issues that we have no control over.  Because
        so many devices and companies rely on this, and the code is stable,
        might as well promote it out of staging.
      
        This was all discussed at the Linux Plumbers conference, and everyone
        participating agreed that this was the best way forward.
      
        There is work happening to replace the binder code with something new
        that is happening right now, but I don't expect to see the results of
        that work for another year at the earliest.  If that ever happens, and
        Android switches over to it, I'll gladly remove this version.
      
        As for maintainers, I'll be glad to maintain this code, I've been
        doing it for the past few years with no problems.  I'll send a
        MAINTAINERS entry for it before 3.19-final is out, still need to talk
        to the Google developers about if they are willing to help with it or
        not, last I checked they were, which was good.
      
        All of these patches have been in linux-next for a while with no
        reported issues"
      
      * tag 'staging-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1382 commits)
        Staging: slicoss: Fix long line issues in slicoss.c
        staging: rtl8712: remove unnecessary else after return
        staging: comedi: change some printk calls to pr_err
        staging: rtl8723au: hal: Removed the extra semicolon
        lustre: Deletion of unnecessary checks before three function calls
        staging: lustre: fix sparse warnings: static function declaration
        staging: lustre: fixed sparse warnings related to static declarations
        staging: unisys: remove duplicate header
        staging: unisys: remove unneeded structure
        staging: ft1000 : replace __attribute ((__packed__) with __packed
        drivers: staging: rtl8192e: Include "asm/unaligned.h" instead of "access_ok.h" in "rtl819x_BAProc.c"
        Drivers:staging:rtl8192e: Fixed checkpatch warning
        Drivers:staging:clocking-wizard: Added a newline
        staging: clocking-wizard: check for a valid clk_name pointer
        staging: rtl8723au: Hal_InitPGData() avoid unnecessary typecasts
        staging: rtl8723au: _DisableAnalog(): Avoid zero-init variables unnecessarily
        staging: rtl8723au: Remove unnecessary wrapper _ResetDigitalProcedure1()
        staging: rtl8723au: _ResetDigitalProcedure1_92C() reduce code obfuscation
        staging: rtl8723au: Remove unnecessary wrapper _DisableRFAFEAndResetBB()
        staging: rtl8723au: _DisableRFAFEAndResetBB8192C(): Reduce code obfuscation
        ...
      dab363f9
    • James Morris's avatar
      Merge branch 'next' of... · d0bffab0
      James Morris authored
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into for-linus
      d0bffab0
    • Linus Torvalds's avatar
      Merge tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · a68db9cb
      Linus Torvalds authored
      Pull firewire updates from Stefan Richter:
       "IEEE 1394 subsystem updates:
         - clean up firewire-ohci's longlived vm-mapping
         - use target instance lock instead of core lock in firewire-sbp2"
      
      * tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: sbp2: replace card lock by target lock
        firewire: sbp2: replace some spin_lock_irqsave by spin_lock_irq
        firewire: sbp2: protect a reference counter properly
        firewire: core: document fw_csr_string's truncation of long strings
        firewire: ohci: replace vm_map_ram() with vmap()
      a68db9cb
    • Linus Torvalds's avatar
      Merge tag 'for-v3.19' of git://git.infradead.org/battery-2.6 · 7051d8e6
      Linus Torvalds authored
      Pull power supply updates from Sebastian Reichel::
       "Power supply and reset changes for the v3.19 series
      
         - update power/reset drivers to use kernel restart handler
         - add power off driver for i.mx6
         - add DT support for gpio-charger"
      
      * tag 'for-v3.19' of git://git.infradead.org/battery-2.6:
        power: reset: adjust priority of simple syscon reboot driver
        power: ds2782_battery: Simplify the PM hooks
        power/reset: brcmstb: Register with kernel restart handler
        power/reset: hisi: Register with kernel restart handler
        power/reset: keystone: Register with kernel restart handler
        power/reset: axxia: Register with kernel restart handler
        power/reset: xgene: Register with kernel restart handler
        power/reset: xgene: Use mdelay instead of jiffies based timeout
        power/reset: xgene: Use local variable dev instead of pdev->dev
        power/reset: xgene: Drop devm_kfree
        power/reset: xgene: Return -ENOMEM if out of memory
        power/reset: vexpress: Register with kernel restart handler
        power: reset: imx-snvs-poweroff: add power off driver for i.mx6
        power: gpio-charger: add device tree support
        dt-bindings: document gpio-charger bindings
      7051d8e6
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · d3255ec4
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
       "Misc fixes in omap-ssi and nokia-modem drivers"
      
      * tag 'hsi-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: nokia-modem: fix error handling of irq_of_parse_and_map
        HSI: nokia-modem: setup default value for pm parameter
        HSI: omap_ssi_port: Don't print uninitialized err
        HSI: remove deprecated IRQF_DISABLED
      d3255ec4
    • Linus Torvalds's avatar
      Merge branch 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 60d7ef3f
      Linus Torvalds authored
      Pull irq domain ARM updates from Thomas Gleixner:
       "This set of changes make use of hierarchical irqdomains to provide:
      
         - MSI/ITS support for GICv3
         - MSI support for GICv2m
         - Interrupt polarity extender for GICv1
      
        Marc has come more cleanups for the existing extension hooks of GIC in
        the pipeline, but they are going to be 3.20 material"
      
      * 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        irqchip: gicv3-its: Fix ITT allocation
        irqchip: gicv3-its: Move some alloc/free code to activate/deactivate
        irqchip: gicv3-its: Fix domain free in multi-MSI case
        irqchip: gic: Remove warning by including linux/irqdomain.h
        irqchip: gic-v2m: Add DT bindings for GICv2m
        irqchip: gic-v2m: Add support for ARM GICv2m MSI(-X) doorbell
        irqchip: mtk-sysirq: dt-bindings: Add bindings for mediatek sysirq
        irqchip: mtk-sysirq: Add sysirq interrupt polarity support
        irqchip: gic: Support hierarchy irq domain.
        irqchip: GICv3: Binding updates for ITS
        irqchip: GICv3: ITS: enable compilation of the ITS driver
        irqchip: GICv3: ITS: plug ITS init into main GICv3 code
        irqchip: GICv3: ITS: DT probing and initialization
        irqchip: GICv3: ITS: MSI support
        irqchip: GICv3: ITS: device allocation and configuration
        irqchip: GICv3: ITS: tables allocators
        irqchip: GICv3: ITS: LPI allocator
        irqchip: GICv3: ITS: irqchip implementation
        irqchip: GICv3: ITS command queue
        irqchip: GICv3: rework redistributor structure
        ...
      60d7ef3f