1. 07 Jul, 2016 2 commits
  2. 27 Jun, 2016 1 commit
  3. 17 Jun, 2016 1 commit
  4. 14 Jun, 2016 10 commits
    • Peter Zijlstra's avatar
      locking/spinlock, netfilter: Fix nf_conntrack_lock() barriers · b316ff78
      Peter Zijlstra authored
      Even with spin_unlock_wait() fixed, nf_conntrack_lock{,_all}() is
      borken as it misses a bunch of memory barriers to order the whole
      global vs local locks scheme.
      
      Even x86 (and other TSO archs) are affected.
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      [ Updated the comments. ]
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      b316ff78
    • Peter Zijlstra's avatar
      locking/spinlock: Update spin_unlock_wait() users · be3e7844
      Peter Zijlstra authored
      With the modified semantics of spin_unlock_wait() a number of
      explicit barriers can be removed. Also update the comment for the
      do_exit() usecase, as that was somewhat stale/obscure.
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      be3e7844
    • Peter Zijlstra's avatar
      locking/spinlock, arch: Update and fix spin_unlock_wait() implementations · 726328d9
      Peter Zijlstra authored
      This patch updates/fixes all spin_unlock_wait() implementations.
      
      The update is in semantics; where it previously was only a control
      dependency, we now upgrade to a full load-acquire to match the
      store-release from the spin_unlock() we waited on. This ensures that
      when spin_unlock_wait() returns, we're guaranteed to observe the full
      critical section we waited on.
      
      This fixes a number of spin_unlock_wait() users that (not
      unreasonably) rely on this.
      
      I also fixed a number of ticket lock versions to only wait on the
      current lock holder, instead of for a full unlock, as this is
      sufficient.
      
      Furthermore; again for ticket locks; I added an smp_rmb() in between
      the initial ticket load and the spin loop testing the current value
      because I could not convince myself the address dependency is
      sufficient, esp. if the loads are of different sizes.
      
      I'm more than happy to remove this smp_rmb() again if people are
      certain the address dependency does indeed work as expected.
      
      Note: PPC32 will be fixed independently
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: chris@zankel.net
      Cc: cmetcalf@mellanox.com
      Cc: davem@davemloft.net
      Cc: dhowells@redhat.com
      Cc: james.hogan@imgtec.com
      Cc: jejb@parisc-linux.org
      Cc: linux@armlinux.org.uk
      Cc: mpe@ellerman.id.au
      Cc: ralf@linux-mips.org
      Cc: realmz6@gmail.com
      Cc: rkuo@codeaurora.org
      Cc: rth@twiddle.net
      Cc: schwidefsky@de.ibm.com
      Cc: tony.luck@intel.com
      Cc: vgupta@synopsys.com
      Cc: ysato@users.sourceforge.jp
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      726328d9
    • Peter Zijlstra's avatar
      locking/barriers, tile: Provide TILE specific smp_acquire__after_ctrl_dep() · b464d127
      Peter Zijlstra authored
      Since TILE doesn't do read speculation, its control dependencies also
      guarantee LOAD->LOAD order and we don't need the additional RMB
      otherwise required to provide ACQUIRE semantics.
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarChris Metcalf <cmetcalf@mellanox.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      b464d127
    • Peter Zijlstra's avatar
      locking/barriers: Move smp_cond_load_acquire() to asm-generic/barrier.h · 7cb45c0f
      Peter Zijlstra authored
      Since all asm/barrier.h should/must include asm-generic/barrier.h the
      latter is a good place for generic infrastructure like this.
      
      This also allows archs to override the new smp_acquire__after_ctrl_dep().
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      7cb45c0f
    • Peter Zijlstra's avatar
      locking/barriers: Introduce smp_acquire__after_ctrl_dep() · 33ac2796
      Peter Zijlstra authored
      Introduce smp_acquire__after_ctrl_dep(), this construct is not
      uncommon, but the lack of this barrier is.
      
      Use it to better express smp_rmb() uses in WRITE_ONCE(), the IPC
      semaphore code and the qspinlock code.
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      33ac2796
    • Peter Zijlstra's avatar
      locking/barriers: Replace smp_cond_acquire() with smp_cond_load_acquire() · 1f03e8d2
      Peter Zijlstra authored
      This new form allows using hardware assisted waiting.
      
      Some hardware (ARM64 and x86) allow monitoring an address for changes,
      so by providing a pointer we can use this to replace the cpu_relax()
      with hardware optimized methods in the future.
      Requested-by: default avatarWill Deacon <will.deacon@arm.com>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      1f03e8d2
    • Ingo Molnar's avatar
    • Linus Torvalds's avatar
      Merge branch 'for-4.7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · db06d759
      Linus Torvalds authored
      Pull percpu fixes from Tejun Heo:
       "While adding GFP_ATOMIC support to the percpu allocator, the
        synchronization for the fast-path which doesn't require external
        allocations was separated into pcpu_lock.
      
        Unfortunately, it incorrectly decoupled async paths and percpu
        chunks could get destroyed while still being operated on.  This
        contains two patches to fix the bug"
      
      * 'for-4.7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: fix synchronization between synchronous map extension and chunk destruction
        percpu: fix synchronization between chunk->map_extend_work and chunk destruction
      db06d759
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v4.7-rc2' of... · 35398ee3
      Linus Torvalds authored
      Merge tag 'regulator-fix-v4.7-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "Some driver specific fixes for the regulator subsystem:
      
         - Some of the changes to the core that were merged in the last merge
           window exposed the fact that the qcom-smd driver hadn't implemented
           the voltage enumeration interfaces like it should.  Since it's a
           simple driver specific fix to implement them do that.
      
         - Fix the ramp delay configuration for tps51632"
      
      * tag 'regulator-fix-v4.7-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: qcom_smd: add list_voltage callback
        regulator: qcom_smd: add regulator ops for pm8941 lnldo
        regulator: qcom_smd: add list_voltage callback
        regulator: tps51632: Fix setting ramp delay
      35398ee3
  5. 13 Jun, 2016 2 commits
  6. 12 Jun, 2016 4 commits
    • Linus Torvalds's avatar
      Linux 4.7-rc3 · 5edb5649
      Linus Torvalds authored
      5edb5649
    • Linus Torvalds's avatar
      Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 57120fac
      Linus Torvalds authored
      Pull thermal management fixes from Zhang Rui:
      
       - fix an ordering issue in cpu cooling that cooling device is
         registered before it's ready (freq_table being populated).
         (Lukasz Luba)
      
       - fix a missing comment update (Caesar Wang)
      
      * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        thermal: add the note for set_trip_temp
        thermal: cpu_cooling: fix improper order during initialization
      57120fac
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 8714f8f5
      Linus Torvalds authored
      Pull block layer fixes from Jens Axboe:
       "A small collection of fixes for the current series.  This contains:
      
         - Two fixes for xen-blkfront, from Bob Liu.
      
         - A bug fix for NVMe, releasing only the specific resources we
           requested.
      
         - Fix for a debugfs flags entry for nbd, from Josef.
      
         - Plug fix from Omar, fixing up a case of code being switched between
           two functions.
      
         - A missing bio_put() for the new discard callers of
           submit_bio_wait(), fixing a regression causing a leak of the bio.
           From Shaun.
      
         - Improve dirty limit calculation precision in the writeback code,
           fixing a case where setting a limit lower than 1% of memory would
           end up being zero.  From Tejun"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        NVMe: Only release requested regions
        xen-blkfront: fix resume issues after a migration
        xen-blkfront: don't call talk_to_blkback when already connected to blkback
        nbd: pass the nbd pointer for flags debugfs
        block: missing bio_put following submit_bio_wait
        blk-mq: really fix plug list flushing for nomerge queues
        writeback: use higher precision calculation in domain_dirty_limits()
      8714f8f5
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 3a7c114d
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       "A new bunch of GPIO fixes for v4.7.
      
        This time I am very grateful that Ricardo Ribalda Delgado went in and
        fixed my stupid refcounting mistakes in the removal path for GPIO
        chips.  I had a feeling something was wrong here and so it was.  It
        exploded on OMAP and it fixes their problem.  Now it should be (more)
        solid.
      
        The rest i compilation, Kconfig and driver fixes.  Some tagged for
        stable.
      
        Summary:
      
         - Fix a NULL pointer dereference when we are searching the GPIO
           device list but one of the devices have been removed (struct
           gpio_chip pointer is NULL).
      
         - Fix unaligned reference counters: we were ending on +3 after all
           said and done.  It should be 0.  Remove an extraneous get_device(),
           and call cdev_del() followed by device_del() in gpiochip_remove()
           instead and the count goes to zero and calls the release() function
           properly.
      
         - Fix a compile warning due to a missing #include in the OF/device
           tree portions.
      
         - Select ANON_INODES for GPIOLIB, we're using that for our character
           device.  Some randconfig tests disclosed the problem.
      
         - Make sure the Zynq driver clock runs also without CONFIG_PM enabled
      
         - Fix an off-by-one error in the 104-DIO-48E driver
      
         - Fix warnings in bcm_kona_gpio_reset()"
      
      * tag 'gpio-v4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: bcm-kona: fix bcm_kona_gpio_reset() warnings
        gpio: select ANON_INODES
        gpio: include <linux/io-mapping.h> in gpiolib-of
        gpiolib: Fix unaligned used of reference counters
        gpiolib: Fix NULL pointer deference
        gpio: zynq: initialize clock even without CONFIG_PM
        gpio: 104-dio-48e: Fix control port offset computation off-by-one error
      3a7c114d
  7. 11 Jun, 2016 4 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 45b00c94
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two current fixes:
      
         - one affects Qemu CD ROM emulation, which stopped working after the
           updates in SCSI to require VPD pages from all conformant devices.
      
           Fix temporarily by blacklisting Qemu (we can relax later when they
           come into compliance).
      
         - The other is a fix to the optimal transfer size.  We set up a
           minefield for ourselves by being confused about whether the limits
           are in bytes or sectors (SCSI optimal is in blocks and the queue
           parameter is in bytes).
      
           This tries to fix the problem (wrong setting for queue limits
           max_sectors) and make the problem more obvious by introducing a
           wrapper function"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        sd: Fix rw_max for devices that report an optimal xfer size
        scsi: Add QEMU CD-ROM to VPD Inquiry Blacklist
      45b00c94
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 5d1f7023
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
      
       - a bigger fix for i801 to finally be able to be loaded on some
         machines again
      
       - smaller driver fixes
      
       - documentation update because of a renamed file
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mux: reg: Provide of_match_table
        i2c: mux: refer to i2c-mux.txt
        i2c: octeon: Avoid printk after too long SMBUS message
        i2c: octeon: Missing AAK flag in case of I2C_M_RECV_LEN
        i2c: i801: Allow ACPI SystemIO OpRegion to conflict with PCI BAR
      5d1f7023
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 90735c99
      Linus Torvalds authored
      Pull DeviceTree fixes from Rob Herring:
      
       - fix unflatten_dt_nodes when dad parameter is set.
      
       - add vendor prefixes for TechNexion and UniWest
      
       - documentation fix for Marvell BT
      
       - OF IRQ kerneldoc fixes
      
       - restrict CMA alignment adjustments to non dma-coherent
      
       - a couple of warning fixes in reserved-memory code
      
       - DT maintainers updates
      
      * tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        drivers: of: add definition of early_init_dt_alloc_reserved_memory_arch
        drivers/of: Fix depth for sub-tree blob in unflatten_dt_nodes()
        drivers: of: Fix of_pci.h header guard
        dt-bindings: Add vendor prefix for TechNexion
        of: add vendor prefix for UniWest
        dt: bindings: fix documentation for MARVELL's bt-sd8xxx wireless device
        of: add missing const for of_parse_phandle_with_args() in !CONFIG_OF
        of: silence warnings due to max() usage
        drivers: of: of_reserved_mem: fixup the CMA alignment not to affect dma-coherent
        of: irq: fix of_irq_get[_byname]() kernel-doc
        MAINTAINERS: DeviceTree maintainer updates
      90735c99
    • Linus Torvalds's avatar
      Merge tag '20160610_uvc_compat_for_linus' of... · f1c32afd
      Linus Torvalds authored
      Merge tag '20160610_uvc_compat_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux
      
      Pull uvc compat XU ioctl fixes from Andy Lutomirski:
       "uvc's compat XU ioctls go through tons of potentially buggy
        indirection.  The first patch removes the indirection.  The second one
        cleans up the code.
      
        Compile-tested only.  I have the hardware, but I have absolutely no
        idea what XU does, how to use it, what software to recompile as
        32-bit, or what to test in that software"
      
      * tag '20160610_uvc_compat_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux:
        uvc_v4l2: Simplify compat ioctl implementation
        uvc: Forward compat ioctls to their handlers directly
      f1c32afd
  8. 10 Jun, 2016 16 commits