1. 13 Jul, 2016 2 commits
  2. 12 Jul, 2016 1 commit
  3. 11 Jul, 2016 2 commits
    • Linus Torvalds's avatar
      Linux 4.7-rc7 · 92d21ac7
      Linus Torvalds authored
      92d21ac7
    • Hugh Dickins's avatar
      tmpfs: fix regression hang in fallocate undo · 7f556567
      Hugh Dickins authored
      The well-spotted fallocate undo fix is good in most cases, but not when
      fallocate failed on the very first page.  index 0 then passes lend -1
      to shmem_undo_range(), and that has two bad effects: (a) that it will
      undo every fallocation throughout the file, unrestricted by the current
      range; but more importantly (b) it can cause the undo to hang, because
      lend -1 is treated as truncation, which makes it keep on retrying until
      every page has gone, but those already fully instantiated will never go
      away.  Big thank you to xfstests generic/269 which demonstrates this.
      
      Fixes: b9b4bb26 ("tmpfs: don't undo fallocate past its last page")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7f556567
  4. 10 Jul, 2016 1 commit
  5. 09 Jul, 2016 1 commit
  6. 08 Jul, 2016 19 commits
  7. 07 Jul, 2016 14 commits
    • Jeff Mahoney's avatar
      Revert "ecryptfs: forbid opening files without mmap handler" · 78c4e172
      Jeff Mahoney authored
      This reverts commit 2f36db71.
      
      It fixed a local root exploit but also introduced a dependency on
      the lower file system implementing an mmap operation just to open a file,
      which is a bit of a heavy hammer.  The right fix is to have mmap depend
      on the existence of the mmap handler instead.
      Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarTyler Hicks <tyhicks@canonical.com>
      78c4e172
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · ac904ae6
      Linus Torvalds authored
      Pull block IO fixes from Jens Axboe:
       "Three small fixes that have been queued up and tested for this series:
      
         - A bug fix for xen-blkfront from Bob Liu, fixing an issue with
           incomplete requests during migration.
      
         - A fix for an ancient issue in retrieving the IO priority of a
           different PID than self, preventing that task from going away while
           we access it.  From Omar.
      
         - A writeback fix from Tahsin, fixing a case where we'd call ihold()
           with a zero ref count inode"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: fix use-after-free in sys_ioprio_get()
        writeback: inode cgroup wb switch should not call ihold()
        xen-blkfront: save uncompleted reqs in blkfront_resume()
      ac904ae6
    • Linus Torvalds's avatar
      Merge tag 'configfs-for-4.7' of git://git.infradead.org/users/hch/configfs · 4c2a8499
      Linus Torvalds authored
      Pull configfs fix from Christoph Hellwig:
       "A fix from Marek for ppos handling in configfs_write_bin_file, which
        was introduced in Linux 4.5, but didn't have any users until recently"
      
      * tag 'configfs-for-4.7' of git://git.infradead.org/users/hch/configfs:
        configfs: Remove ppos increment in configfs_write_bin_file
      4c2a8499
    • Rafael J. Wysocki's avatar
      Merge branches 'acpica-fixes', 'acpi-pci-fixes' and 'acpi-debug-fixes' · b6d90158
      Rafael J. Wysocki authored
      * acpica-fixes:
        ACPICA: Namespace: Fix namespace/interpreter lock ordering
      
      * acpi-pci-fixes:
        ACPI,PCI,IRQ: separate ISA penalty calculation
        Revert "ACPI, PCI, IRQ: remove redundant code in acpi_irq_penalty_init()"
        ACPI,PCI,IRQ: factor in PCI possible
      
      * acpi-debug-fixes:
        ACPI / debugger: Fix regression introduced by IS_ERR_VALUE() removal
      b6d90158
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpuidle-fixes' and 'pm-sleep-fixes' · 7fe39a21
      Rafael J. Wysocki authored
      * pm-cpuidle-fixes:
        cpuidle: Fix last_residency division
      
      * pm-sleep-fixes:
        x86/power/64: Fix kernel text mapping corruption during image restoration
      7fe39a21
    • Ganapatrao Kulkarni's avatar
      arm64: Enable workaround for Cavium erratum 27456 on thunderx-81xx · 47c459be
      Ganapatrao Kulkarni authored
      Cavium erratum 27456 commit 104a0c02
      ("arm64: Add workaround for Cavium erratum 27456")
      is applicable for thunderx-81xx pass1.0 SoC as well.
      Adding code to enable to 81xx.
      Signed-off-by: default avatarGanapatrao Kulkarni <gkulkarni@cavium.com>
      Reviewed-by: default avatarAndrew Pinski <apinski@cavium.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      47c459be
    • James Morse's avatar
      arm64: kernel: Save and restore UAO and addr_limit on exception entry · e19a6ee2
      James Morse authored
      If we take an exception while at EL1, the exception handler inherits
      the original context's addr_limit and PSTATE.UAO values. To be consistent
      always reset addr_limit and PSTATE.UAO on (re-)entry to EL1. This
      prevents accidental re-use of the original context's addr_limit.
      
      Based on a similar patch for arm from Russell King.
      
      Cc: <stable@vger.kernel.org> # 4.6-
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarJames Morse <james.morse@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      e19a6ee2
    • Thomas Gleixner's avatar
      Merge branch 'clockevents/4.8' of... · 3d93f42d
      Thomas Gleixner authored
      Merge branch 'clockevents/4.8' of http://git.linaro.org/people/daniel.lezcano/linux into timers/core
      
      Pull the clockevents/clocksource tree from Daniel Lezcano:
      
        - Convert the clocksource-probe init functions to return a value in order to
          prepare the consolidation of the drivers using the DT. It is a big patchset
          but went through 01.org (kbuild bot), linux next and kernel-ci (continuous
          integration) (Daniel Lezcano)
      
        - Fix a bad error handling by returning the right value for cadence_ttc
          (Christophe Jaillet)
      
        - Fix typo in the Kconfig for the Samsung pwm (Alexandre Belloni)
      
        - Change functions to static for armada-370-xp and digicolor (Ben Dooks)
      
        - Add support for the rk3399 SoC timer by adding bindings and a slight
          change in the base address. Take the opportunity to add the DYNIRQ flag
          (Huang Tao)
      
        - Fix endian accessors for the Samsung pwm timer (Matthew Leach)
      
        - Add Oxford Semiconductor RPS Dual Timer driver (Neil Armstrong)
      
        - Add a kernel parameter to swich on/off the event stream feature of the arch
          arm timer (Will Deacon)
      3d93f42d
    • Jan Beulich's avatar
      xenbus: don't BUG() on user mode induced condition · 0beef634
      Jan Beulich authored
      Inability to locate a user mode specified transaction ID should not
      lead to a kernel crash. For other than XS_TRANSACTION_START also
      don't issue anything to xenbus if the specified ID doesn't match that
      of any active transaction.
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      0beef634
    • Ingo Molnar's avatar
      4b4b2085
    • Anna-Maria Gleixner's avatar
      timers: Implement optimization for same expiry time in mod_timer() · f00c0afd
      Anna-Maria Gleixner authored
      The existing optimization for same expiry time in mod_timer() checks whether
      the timer expiry time is the same as the new requested expiry time. In the old
      timer wheel implementation this does not take the slack batching into account,
      neither does the new implementation evaluate whether the new expiry time will
      requeue the timer to the same bucket.
      
      To optimize that, we can calculate the resulting bucket and check if the new
      expiry time is different from the current expiry time. This calculation
      happens outside the base lock held region. If the resulting bucket is the same
      we can avoid taking the base lock and requeueing the timer.
      
      If the timer needs to be requeued then we have to check under the base lock
      whether the base time has changed between the lockless calculation and taking
      the lock. If it has changed we need to recalculate under the lock.
      
      This optimization takes effect for timers which are enqueued into the less
      granular wheel levels (1 and above). With a simple test case the functionality
      has been verified:
      
                  Before        After
       Match:       5.5%        86.6%
       Requeue:    94.5%        13.4%
       Recalc:                  <0.01%
      
      In the non optimized case the timer is requeued in 94.5% of the cases. With
      the index optimization in place the requeue rate drops to 13.4%. The case
      where the lockless index calculation has to be redone is less than 0.01%.
      
      With a real world test case (networking) we observed the following changes:
      
                  Before        After
       Match:      97.8%        99.7%
       Requeue:     2.2%         0.3%
       Recalc:                  <0.001%
      
      That means two percent fewer lock/requeue/unlock operations done in one of
      the hot path use cases of timers.
      Signed-off-by: default avatarAnna-Maria Gleixner <anna-maria@linutronix.de>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Chris Mason <clm@fb.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: George Spelvin <linux@sciencehorizons.net>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: rt@linutronix.de
      Link: http://lkml.kernel.org/r/20160704094342.778527749@linutronix.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      f00c0afd
    • Anna-Maria Gleixner's avatar
      timers: Split out index calculation · ffdf0477
      Anna-Maria Gleixner authored
      For further optimizations we need to seperate index calculation
      from queueing. No functional change.
      Signed-off-by: default avatarAnna-Maria Gleixner <anna-maria@linutronix.de>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Chris Mason <clm@fb.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: George Spelvin <linux@sciencehorizons.net>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: rt@linutronix.de
      Link: http://lkml.kernel.org/r/20160704094342.691159619@linutronix.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      ffdf0477
    • Thomas Gleixner's avatar
      timers: Only wake softirq if necessary · 4e85876a
      Thomas Gleixner authored
      With the wheel forwading in place and with the HZ=1000 4ms folding we can
      avoid running the softirq at all.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Chris Mason <clm@fb.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: George Spelvin <linux@sciencehorizons.net>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: rt@linutronix.de
      Link: http://lkml.kernel.org/r/20160704094342.607650550@linutronix.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      4e85876a
    • Thomas Gleixner's avatar
      timers: Forward the wheel clock whenever possible · a683f390
      Thomas Gleixner authored
      The wheel clock is stale when a CPU goes into a long idle sleep. This has the
      side effect that timers which are queued end up in the outer wheel levels.
      That results in coarser granularity.
      
      To solve this, we keep track of the idle state and forward the wheel clock
      whenever possible.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Chris Mason <clm@fb.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: George Spelvin <linux@sciencehorizons.net>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: rt@linutronix.de
      Link: http://lkml.kernel.org/r/20160704094342.512039360@linutronix.deSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      a683f390