1. 16 May, 2015 8 commits
    • Linus Torvalds's avatar
      Merge tag 'upstream-4.1-rc4' of git://git.infradead.org/linux-ubifs · 1630ee5e
      Linus Torvalds authored
      Pull UBI bufix from Richard Weinberger:
       "This contains a single bug fix for the UBI block driver"
      
      * tag 'upstream-4.1-rc4' of git://git.infradead.org/linux-ubifs:
        UBI: block: Add missing cache flushes
      1630ee5e
    • Linus Torvalds's avatar
      Merge tag 'for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 6a8098a4
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Fix a number of ext4 bugs; the most serious of which is a bug in the
        lazytime mount optimization code where we could end up updating the
        timestamps to the wrong inode"
      
      * tag 'for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: fix an ext3 collapse range regression in xfstests
        jbd2: fix r_count overflows leading to buffer overflow in journal recovery
        ext4: check for zero length extent explicitly
        ext4: fix NULL pointer dereference when journal restart fails
        ext4: remove unused function prototype from ext4.h
        ext4: don't save the error information if the block device is read-only
        ext4: fix lazytime optimization
      6a8098a4
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · c7309e88
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "The first commit is a fix from Filipe for a very old extent buffer
        reuse race that triggered a BUG_ON.  It hasn't come up often, I looked
        through old logs at FB and we hit it a handful of times over the last
        year.
      
        The rest are other corners he hit during testing"
      
      * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: fix race when reusing stale extent buffers that leads to BUG_ON
        Btrfs: fix race between block group creation and their cache writeout
        Btrfs: fix panic when starting bg cache writeout after IO error
        Btrfs: fix crash after inode cache writeback failure
      c7309e88
    • Linus Torvalds's avatar
      Merge branch 'master' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 518af3cb
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "Seven small fixes.  The shortlog below is a good description so no
        need to elaborate.
      
        It has sat in linux-next and survived the usual automated testing by
        Imagination's test farm"
      
      * 'master' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: tlb-r4k: Fix PG_ELPA comment
        MIPS: Fix up obsolete cpu_set usage
        MIPS: IP32: Fix build errors in reset code in DS1685 platform hook.
        MIPS: KVM: Fix unused variable build warning
        MIPS: traps: remove extra Tainted: line from __show_regs() output
        MIPS: Fix wrong CHECKFLAGS (sparse builds) with GCC 5.1
        MIPS: Fix a preemption issue with thread's FPU defaults
      518af3cb
    • Linus Torvalds's avatar
      Merge tag 'arc-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 2ed3d795
      Linus Torvalds authored
      Pull ARC fixes from Vineet Gupta.
      
      * tag 'arc-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: inline cache flush toggle helpers
        ARC: With earlycon in use, retire EARLY_PRINTK
        ARC: unbork !LLSC build
      2ed3d795
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d6610270
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Nothing frightening this time, just smaller fixes in a number of
        places.
      
        The other changes contained here are:
      
         MAINTAINERS file updates:
      
         - The mach-gemini maintainer is back in action and has a new git tree
      
         - Krzysztof Kozlowski has volunteered to be a new co-maintainer for
           the samsung platforms
      
         - updates to the files that belong to Marvell mvebu
      
        Bug fixes:
      
         - The largest changes are on omap2, but are only to avoid some
           harmless warnings and to fix reset on omap4
      
         - a small regression fix on tegra
      
         - multiple fixes for incorrect IRQ affinity on vexpress
      
         - the missing system controller on arm64 juno is added
      
         - one revert of a patch that was accidentally applied twice for
           mach-rockchip
      
         - two clock related DT fixes for mvebu
      
         - a workaround for suspend with old DT binaries on new exynos kernels
      
         - Another fix for suspend on exynos, needs to be backported"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits)
        MAINTAINERS: Add dts entries for some of the Marvell SoCs
        MAINTAINERS: ARM: EXYNOS: Add Krzysztof Kozlowski as co-maintainer
        ARM: EXYNOS: Use of_machine_is_compatible instead of soc_is_exynos4
        ARM: EXYNOS: Fix failed second suspend on Exynos4
        Revert "ARM: rockchip: fix undefined instruction of reset_ctrl_regs"
        ARM: EXYNOS: Fix dereference of ERR_PTR returned by of_genpd_get_from_provider
        ARM: EXYNOS: Don't try to initialize suspend on old DT
        ARM: dts: Add keep-power-in-suspend to WiFi SDIO node for Peach Boards
        ARM: gemini: fix compiler warning due wrong data type
        ARM: vexpress/tc2: Add interrupt-affinity to the PMU node
        ARM: vexpress/ca9: Add interrupt-affinity to the PMU node
        ARM: vexpress/ca9: Add unified-cache property to l2 cache node
        ARM64: juno: add sp810 support and fix sp804 clock frequency
        ARM: Gemini: Maintainers update
        ARM: OMAP2+: Remove bogus struct clk comparison for timer clock
        ARM: dove: Add clock-names to CuBox Si5351 clk generator
        ARM: AM33xx+: hwmod: re-use omap4 implementations for reset functionality
        ARM: OMAP4+: PRM: add support for passing status register/bit info to reset
        ARM: AM43xx: hwmod: add VPFE hwmod entries
        ARM: mvebu: Fix the main PLL frequency on Armada 375, 38x and 39x SoCs
        ...
      d6610270
    • Linus Torvalds's avatar
      Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 73786683
      Linus Torvalds authored
      Pull thermal fixes from Zhang Rui:
       "Specifics:
      
         - fix an issue in intel_powerclamp driver that idle injection target
           is not accurately maintained on newer Intel CPUs.  Package C8 to
           C10 states are introduced on these CPUs but they were not included
           in the package c-state residency calculation.  From Jacob Pan.
      
         - fix a problem that package c-state idle injection was missing on
           Broadwell server, by adding its id to intel_powerclamp driver.
           From Jacob Pan.
      
         - a couple of small fixes and cleanups from Joe Perches, Mathias
           Krause, Dan Carpenter and Anand Moon"
      
      * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        tools/thermal: tmon: fixed the 'make install' command
        thermal: rockchip: fix an error code
        thermal/powerclamp: fix missing newer package c-states
        thermal/intel_powerclamp: add id for broadwell server
        thermal/intel_powerclamp: add __init / __exit annotations
        thermal: Use bool function return values of true/false not 1/0
      73786683
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-4.1-rc4' of... · d70933be
      Linus Torvalds authored
      Merge tag 'linux-kselftest-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest fixes from Shuah Khan:
       "Urgent fix for Kselftest regression introduced in 4.1-rc1 by the new
        x86 test due to its hard dependency on 32-bit build environment.
      
        A set of 5 patches fix the make kselftest run and kselftest install"
      
      * tag 'linux-kselftest-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests, x86: Rework x86 target architecture detection
        selftests, x86: Remove useless run_tests rule
        selftests/x86: install tests
        selftest/x86: have no dependency on all when cross building
        selftest/x86: build both bitnesses
      d70933be
  2. 15 May, 2015 27 commits
  3. 14 May, 2015 5 commits
    • Darrick J. Wong's avatar
      jbd2: fix r_count overflows leading to buffer overflow in journal recovery · e531d0bc
      Darrick J. Wong authored
      The journal revoke block recovery code does not check r_count for
      sanity, which means that an evil value of r_count could result in
      the kernel reading off the end of the revoke table and into whatever
      garbage lies beyond.  This could crash the kernel, so fix that.
      
      However, in testing this fix, I discovered that the code to write
      out the revoke tables also was not correctly checking to see if the
      block was full -- the current offset check is fine so long as the
      revoke table space size is a multiple of the record size, but this
      is not true when either journal_csum_v[23] are set.
      Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Cc: stable@vger.kernel.org
      e531d0bc
    • Eryu Guan's avatar
      ext4: check for zero length extent explicitly · 2f974865
      Eryu Guan authored
      The following commit introduced a bug when checking for zero length extent
      
      5946d089 ext4: check for overlapping extents in ext4_valid_extent_entries()
      
      Zero length extent could pass the check if lblock is zero.
      
      Adding the explicit check for zero length back.
      Signed-off-by: default avatarEryu Guan <guaneryu@gmail.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Cc: stable@vger.kernel.org
      2f974865
    • Lukas Czerner's avatar
      ext4: fix NULL pointer dereference when journal restart fails · 9d506594
      Lukas Czerner authored
      Currently when journal restart fails, we'll have the h_transaction of
      the handle set to NULL to indicate that the handle has been effectively
      aborted. We handle this situation quietly in the jbd2_journal_stop() and just
      free the handle and exit because everything else has been done before we
      attempted (and failed) to restart the journal.
      
      Unfortunately there are a number of problems with that approach
      introduced with commit
      
      41a5b913 "jbd2: invalidate handle if jbd2_journal_restart()
      fails"
      
      First of all in ext4 jbd2_journal_stop() will be called through
      __ext4_journal_stop() where we would try to get a hold of the superblock
      by dereferencing h_transaction which in this case would lead to NULL
      pointer dereference and crash.
      
      In addition we're going to free the handle regardless of the refcount
      which is bad as well, because others up the call chain will still
      reference the handle so we might potentially reference already freed
      memory.
      
      Moreover it's expected that we'll get aborted handle as well as detached
      handle in some of the journalling function as the error propagates up
      the stack, so it's unnecessary to call WARN_ON every time we get
      detached handle.
      
      And finally we might leak some memory by forgetting to free reserved
      handle in jbd2_journal_stop() in the case where handle was detached from
      the transaction (h_transaction is NULL).
      
      Fix the NULL pointer dereference in __ext4_journal_stop() by just
      calling jbd2_journal_stop() quietly as suggested by Jan Kara. Also fix
      the potential memory leak in jbd2_journal_stop() and use proper
      handle refcounting before we attempt to free it to avoid use-after-free
      issues.
      
      And finally remove all WARN_ON(!transaction) from the code so that we do
      not get random traces when something goes wrong because when journal
      restart fails we will get to some of those functions.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLukas Czerner <lczerner@redhat.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      9d506594
    • Theodore Ts'o's avatar
      ext4: remove unused function prototype from ext4.h · 92c82639
      Theodore Ts'o authored
      The ext4_extent_tree_init() function hasn't been in the ext4 code for
      a long time ago, except in an unused function prototype in ext4.h
      
      Google-Bug-Id: 4530137
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      92c82639
    • Theodore Ts'o's avatar
      ext4: don't save the error information if the block device is read-only · 1b46617b
      Theodore Ts'o authored
      Google-Bug-Id: 20939131
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      1b46617b