Skip to content
  1. Feb 01, 2015
    • Andy Lutomirski's avatar
      x86, traps: Fix ist_enter from userspace · b926e6f6
      Andy Lutomirski authored
      context_tracking_user_exit() has no effect if in_interrupt() returns true,
      so ist_enter() didn't work.  Fix it by calling exception_enter(), and thus
      context_tracking_user_exit(), before incrementing the preempt count.
      
      This also adds an assertion that will catch the problem reliably if
      CONFIG_PROVE_RCU=y to help prevent the bug from being reintroduced.
      
      Link: http://lkml.kernel.org/r/261ebee6aee55a4724746d0d7024697013c40a08.1422709102.git.luto@amacapital.net
      Fixes: 95927475
      
       x86, traps: Track entry into and exit from IST context
      Reported-and-tested-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      b926e6f6
  2. Jan 28, 2015
    • Ingo Molnar's avatar
      Merge tag 'pr-20150114-x86-entry' of... · 772a9aca
      Ingo Molnar authored
      Merge tag 'pr-20150114-x86-entry' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux into x86/asm
      
      Pull x86/entry enhancements from Andy Lutomirski:
      
      " This is my accumulated x86 entry work, part 1, for 3.20.  The meat
        of this is an IST rework.  When an IST exception interrupts user
        space, we will handle it on the per-thread kernel stack instead of
        on the IST stack.  This sounds messy, but it actually simplifies the
        IST entry/exit code, because it eliminates some ugly games we used
        to play in order to handle rescheduling, signal delivery, etc on the
        way out of an IST exception.
      
        The IST rework introduces proper context tracking to IST exception
        handlers.  I haven't seen any bug reports, but the old code could
        have incorrectly treated an IST exception handler as an RCU extended
        quiescent state.
      
        The memory failure change (included in this pull request with
        Borislav and Tony's permission) eliminates a bunch of code that
        is no longer needed now that user memory failure handlers are
        called in process context.
      
        Finally, this includes a few on Denys' uncontroversial and Obviously
        Correct (tm) cleanups.
      
        The IST and memory failure changes have been in -next for a while.
      
        LKML references:
      
        IST rework:
        http://lkml.kernel.org/r/cover.1416604491.git.luto@amacapital.net
      
        Memory failure change:
        http://lkml.kernel.org/r/54ab2ffa301102cd6e@agluck-desk.sc.intel.com
      
        Denys' cleanups:
        http://lkml.kernel.org/r/1420927210-19738-1-git-send-email-dvlasenk@redhat.com
      "
      
      This tree semantically depends on and is based on the following RCU commit:
      
        734d1680
      
       ("rcu: Make rcu_nmi_enter() handle nesting")
      
      ... and for that reason won't be pushed upstream before the RCU bits hit Linus's tree.
      
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      772a9aca
    • Ingo Molnar's avatar
      Merge commit 3669ef9f ("x86, tls: Interpret an all-zero struct user_desc... · 41ca5d4e
      Ingo Molnar authored
      Merge commit 3669ef9f
      
       ("x86, tls: Interpret an all-zero struct user_desc as 'no segment'") into x86/asm
      
      Pick up the latestest asm fixes before advancing it any further.
      
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      41ca5d4e
  3. Jan 23, 2015
    • Andy Lutomirski's avatar
      x86, tls: Interpret an all-zero struct user_desc as "no segment" · 3669ef9f
      Andy Lutomirski authored
      The Witcher 2 did something like this to allocate a TLS segment index:
      
              struct user_desc u_info;
              bzero(&u_info, sizeof(u_info));
              u_info.entry_number = (uint32_t)-1;
      
              syscall(SYS_set_thread_area, &u_info);
      
      Strictly speaking, this code was never correct.  It should have set
      read_exec_only and seg_not_present to 1 to indicate that it wanted
      to find a free slot without putting anything there, or it should
      have put something sensible in the TLS slot if it wanted to allocate
      a TLS entry for real.  The actual effect of this code was to
      allocate a bogus segment that could be used to exploit espfix.
      
      The set_thread_area hardening patches changed the behavior, causing
      set_thread_area to return -EINVAL and crashing the game.
      
      This changes set_thread_area to interpret this as a request to find
      a free slot and to leave it empty, which isn't *quite* what the game
      expects but should be close enough to keep it working.  In
      particular, using the code above to allocate two segments will
      allocate the same segment both times.
      
      According to FrostbittenKing on Github, this fixes The Witcher 2.
      
      If this somehow still causes problems, we could instead allocate
      a limit==0 32-bit data segment, but that seems rather ugly to me.
      
      Fixes: 41bdc785
      
       x86/tls: Validate TLS entries to protect espfix
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Cc: stable@vger.kernel.org
      Cc: torvalds@linux-foundation.org
      Link: http://lkml.kernel.org/r/0cb251abe1ff0958b8e468a9a9a905b80ae3a746.1421954363.git.luto@amacapital.net
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      3669ef9f
    • Andy Lutomirski's avatar
      x86, tls, ldt: Stop checking lm in LDT_empty · e30ab185
      Andy Lutomirski authored
      32-bit programs don't have an lm bit in their ABI, so they can't
      reliably cause LDT_empty to return true without resorting to memset.
      They shouldn't need to do this.
      
      This should fix a longstanding, if minor, issue in all 64-bit kernels
      as well as a potential regression in the TLS hardening code.
      
      Fixes: 41bdc785
      
       x86/tls: Validate TLS entries to protect espfix
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Cc: torvalds@linux-foundation.org
      Link: http://lkml.kernel.org/r/72a059de55e86ad5e2935c80aa91880ddf19d07c.1421954363.git.luto@amacapital.net
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      e30ab185
    • Dave Hansen's avatar
      x86, mpx: Strictly enforce empty prctl() args · e9d1b4f3
      Dave Hansen authored
      Description from Michael Kerrisk.  He suggested an identical patch
      to one I had already coded up and tested.
      
      commit fe3d197f
      
       "x86, mpx: On-demand kernel allocation of bounds
      tables" added two new prctl() operations, PR_MPX_ENABLE_MANAGEMENT and
      PR_MPX_DISABLE_MANAGEMENT.  However, no checks were included to ensure
      that unused arguments are zero, as is done in many existing prctl()s
      and as should be done for all new prctl()s. This patch adds the
      required checks.
      
      Suggested-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Suggested-by: default avatarMichael Kerrisk <mtk.manpages@gmail.com>
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Cc: Dave Hansen <dave@sr71.net>
      Link: http://lkml.kernel.org/r/20150108223022.7F56FD13@viggo.jf.intel.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      e9d1b4f3
    • Dave Hansen's avatar
      x86, mpx: Fix potential performance issue on unmaps · c922228e
      Dave Hansen authored
      
      
      The 3.19 merge window saw some TLB modifications merged which caused a
      performance regression. They were fixed in commit 045bbb9fa.
      
      Once that fix was applied, I also noticed that there was a small
      but intermittent regression still present.  It was not present
      consistently enough to bisect reliably, but I'm fairly confident
      that it came from (my own) MPX patches.  The source was reading
      a relatively unused field in the mm_struct via arch_unmap.
      
      I also noted that this code was in the main instruction flow of
      do_munmap() and probably had more icache impact than we want.
      
      This patch does two things:
      1. Adds a static (via Kconfig) and dynamic (via cpuid) check
         for MPX with cpu_feature_enabled().  This keeps us from
         reading that cacheline in the mm and trades it for a check
         of the global CPUID variables at least on CPUs without MPX.
      2. Adds an unlikely() to ensure that the MPX call ends up out
         of the main instruction flow in do_munmap().  I've added
         a detailed comment about why this was done and why we want
         it even on systems where MPX is present.
      
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Cc: luto@amacapital.net
      Cc: Dave Hansen <dave@sr71.net>
      Link: http://lkml.kernel.org/r/20150108223021.AEEAB987@viggo.jf.intel.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      c922228e
    • Dave Hansen's avatar
      x86, mpx: Explicitly disable 32-bit MPX support on 64-bit kernels · 814564a0
      Dave Hansen authored
      
      
      We had originally planned on submitting MPX support in one patch
      set.  We eventually broke it up in to two pieces for easier
      review.  One of the features that didn't make the first round
      was supporting 32-bit binaries on 64-bit kernels.
      
      Once we split the set up, we never added code to restrict 32-bit
      binaries from _using_ MPX on 64-bit kernels.
      
      The 32-bit bounds tables are a different format than the 64-bit
      ones.  Without this patch, the kernel will try to read a 32-bit
      binary's tables as if they were the 64-bit version.  They will
      likely be noticed as being invalid rather quickly and the app
      will get killed, but that's kinda mean.
      
      This patch adds an explicit check, and will make a 64-bit kernel
      essentially behave as if it has no MPX support when called from
      a 32-bit binary.
      
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Dave Hansen <dave@sr71.net>
      Link: http://lkml.kernel.org/r/20150108223020.9E9AA511@viggo.jf.intel.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      814564a0
  4. Jan 20, 2015
  5. Jan 18, 2015
    • Linus Torvalds's avatar
      Linux 3.19-rc5 · ec6f34e5
      Linus Torvalds authored
      ec6f34e5
    • Linus Torvalds's avatar
      Merge tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d0ac5d8e
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "We've been sitting on our fixes branch for a while, so this batch is
        unfortunately on the large side.
      
        A lot of these are tweaks and fixes to device trees, fixing various
        bugs around clocks, reg ranges, etc.  There's also a few defconfig
        updates (which are on the late side, no more of those).
      
        All in all the diffstat is bigger than ideal at this time, but nothing
        in here seems particularly risky"
      
      * tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (31 commits)
        reset: sunxi: fix spinlock initialization
        ARM: dts: disable CCI on exynos5420 based arndale-octa
        drivers: bus: check cci device tree node status
        ARM: rockchip: disable jtag/sdmmc autoswitching on rk3288
        ARM: nomadik: fix up leftover device tree pins
        ARM: at91: board-dt-sama5: add phy_fixup to override NAND_Tree
        ARM: at91/dt: sam9263: Add missing clocks to lcdc node
        ARM: at91: sama5d3: dt: correct the sound route
        ARM: at91/dt: sama5d4: fix the timer reg length
        ARM: exynos_defconfig: Enable LM90 driver
        ARM: exynos_defconfig: Enable options for display panel support
        arm: dts: Use pmu_system_controller phandle for dp phy
        ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instances
        ARM: dts: berlin: correct BG2Q's SM GPIO location.
        ARM: dts: berlin: add broken-cd and set bus width for eMMC in Marvell DMP DT
        ARM: dts: berlin: fix io clk and add missing core clk for BG2Q sdhci2 host
        ARM: dts: Revert disabling of smc91x for n900
        ARM: dts: imx51-babbage: Fix ULPI PHY reset modelling
        ARM: dts: dra7-evm: fix qspi device tree partition size
        ARM: omap2plus_defconfig: use CONFIG_CPUFREQ_DT
        ...
      d0ac5d8e
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux · 12ba8571
      Linus Torvalds authored
      Pull clock driver fixes from Mike Turquette:
       "Small number of fixes for clock drivers and a single null pointer
        dereference fix in the framework core code.
      
        The driver fixes vary from fixing section mismatch warnings to
        preventing machines from hanging (and preventing developers from
        crying)"
      
      * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux:
        clk: fix possible null pointer dereference
        Revert "clk: ppc-corenet: Fix Section mismatch warning"
        clk: rockchip: fix deadlock possibility in cpuclk
        clk: berlin: bg2q: remove non-exist "smemc" gate clock
        clk: at91: keep slow clk enabled to prevent system hang
        clk: rockchip: fix rk3288 cpuclk core dividers
        clk: rockchip: fix rk3066 pll lock bit location
        clk: rockchip: Fix clock gate for rk3188 hclk_emem_peri
        clk: rockchip: add CLK_IGNORE_UNUSED flag to fix rk3066/rk3188 USB Host
      12ba8571
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 901b2082
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is one fix for a Multiqueue sleeping in invalid context problem
        and a MAINTAINER file update for Qlogic"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: ->queue_rq can't sleep
        MAINTAINERS: Update maintainer list for qla4xxx
      901b2082
    • Stanimir Varbanov's avatar
      clk: fix possible null pointer dereference · c7662fc5
      Stanimir Varbanov authored
      The commit 646cafc6
      
       (clk: Change clk_ops->determine_rate to
      return a clk_hw as the best parent) opens a possibility for
      null pointer dereference, fix this.
      
      Signed-off-by: default avatarStanimir Varbanov <svarbanov@mm-sol.com>
      Reviewed-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarMichael Turquette <mturquette@linaro.org>
      c7662fc5
    • Kevin Hao's avatar
      Revert "clk: ppc-corenet: Fix Section mismatch warning" · 176a107b
      Kevin Hao authored
      This reverts commit da788acb
      
      .
      
      That commit tried to fix the section mismatch warning by moving the
      ppc_corenet_clk_driver struct to init section. This is definitely wrong
      because the kernel would free the memories occupied by this struct
      after boot while this driver is still registered in the driver core.
      The kernel would panic when accessing this driver struct.
      
      Cc: stable@vger.kernel.org # 3.17
      Signed-off-by: default avatarKevin Hao <haokexin@gmail.com>
      Acked-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@linaro.org>
      176a107b
    • Heiko Stübner's avatar
      clk: rockchip: fix deadlock possibility in cpuclk · a5e1baf7
      Heiko Stübner authored
      
      
      Lockdep reported a possible deadlock between the cpuclk lock and for example
      the i2c driver.
      
             CPU0                    CPU1
             ----                    ----
        lock(clk_lock);
                                     local_irq_disable();
                                     lock(&(&i2c->lock)->rlock);
                                     lock(clk_lock);
        <Interrupt>
          lock(&(&i2c->lock)->rlock);
      
       *** DEADLOCK ***
      
      The generic clock-types of the core ccf already use spin_lock_irqsave when
      touching clock registers, so do the same for the cpuclk.
      
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Reviewed-by: default avatarDoug Anderson <dianders@chromium.org>
      Signed-off-by: default avatarMichael Turquette <mturquette@linaro.org>
      [mturquette@linaro.org: removed initialization of "flags"]
      a5e1baf7
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma · 298e3204
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
       "Two patches, the first by Andy to fix dw dmac runtime pm and second
        one by me to fix the dmaengine headers in MAINTAINERS"
      
      * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
        dmaengine: dw: balance PM runtime calls
        MAINTAINERS: dmaengine: fix the header file for dmaengine
      298e3204
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 59b2858f
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Mostly tooling fixes, but also two PMU driver fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf tools powerpc: Use dwfl_report_elf() instead of offline.
        perf tools: Fix segfault for symbol annotation on TUI
        perf test: Fix dwarf unwind using libunwind.
        perf tools: Avoid build splat for syscall numbers with uclibc
        perf tools: Elide strlcpy warning with uclibc
        perf tools: Fix statfs.f_type data type mismatch build error with uclibc
        tools: Remove bitops/hweight usage of bits in tools/perf
        perf machine: Fix __machine__findnew_thread() error path
        perf tools: Fix building error in x86_64 when dwarf unwind is on
        perf probe: Propagate error code when write(2) failed
        perf/x86/intel: Fix bug for "cycles:p" and "cycles:pp" on SLM
        perf/rapl: Fix sysfs_show() initialization for RAPL PMU
      59b2858f
  6. Jan 17, 2015
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo' of... · d01de238
      Ingo Molnar authored
      
      Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
      
        - Fix segfault when using both the map symtab viewer and annotation
          in the TUI (Namhyung Kim).
      
        - uClibc build fixes (Alexey Brodkin, Vineet Gupta).
      
        - bitops/hweight were moved from tools/perf/ too tools/include, move
          some leftovers (Arnaldo Carvalho de Melo)
      
        - Fix dwarf unwind x86_64 build error (Namhyung Kim)
      
        - Fix __machine__findnew_thread() error path (Namhyung Kim)
      
        - Propagate error code when write(2) failed in 'perf probe' (Namhyung Kim)
      
        - Use dwfl_report_elf() instead of offline in powerpc bits to
          properly handle non prelinked DSOs (Sukadev Bhattiprolu).
      
        - Fix dwarf unwind using libunwind in 'perf test' (Wang Nan)
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      d01de238
    • Andy Lutomirski's avatar
      x86_64 entry: Fix RCX for ptraced syscalls · 0fcedc86
      Andy Lutomirski authored
      
      
      The int_ret_from_sys_call and syscall tracing code disagrees
      with the sysret path as to the value of RCX.
      
      The Intel SDM, the AMD APM, and my laptop all agree that sysret
      returns with RCX == RIP.  The syscall tracing code does not
      respect this property.
      
      For example, this program:
      
      int main()
      {
      	extern const char syscall_rip[];
      	unsigned long rcx = 1;
      	unsigned long orig_rcx = rcx;
      	asm ("mov $-1, %%eax\n\t"
      	     "syscall\n\t"
      	     "syscall_rip:"
      	     : "+c" (rcx) : : "r11");
      	printf("syscall: RCX = %lX  RIP = %lX  orig RCX = %lx\n",
      	       rcx, (unsigned long)syscall_rip, orig_rcx);
      	return 0;
      }
      
      prints:
      
        syscall: RCX = 400556  RIP = 400556  orig RCX = 1
      
      Running it under strace gives this instead:
      
        syscall: RCX = FFFFFFFFFFFFFFFF  RIP = 400556  orig RCX = 1
      
      This changes FIXUP_TOP_OF_STACK to match sysret, causing the
      test to show RCX == RIP even under strace.
      
      It looks like this is a partial revert of:
      88e4bc32686e ("[PATCH] x86-64 architecture specific sync for 2.5.8")
      from the historic git tree.
      
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: http://lkml.kernel.org/r/c9a418c3dc3993cb88bb7773800225fd318a4c67.1421453410.git.luto@amacapital.net
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      0fcedc86
    • Olof Johansson's avatar
      Merge tag 'samsung-fixes-3.19' of... · 966903a9
      Olof Johansson authored
      
      Merge tag 'samsung-fixes-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
      
      Merge "Samsung fixes for v3.19" from Kukjin Kim:
      
      Samsung fixes for v3.19
      - exynos_defconfig: enable LM90 driver and display panel support
         - HWMON
         - SENSORS_LM90
         - Direct Rendering Manager (DRM)
         - DRM bridge registration and lookup framework
         - Parade ps8622/ps8625 eDP/LVDS bridge
         - NXP ptn3460 eDP/LVDS bridge
         - Exynos Fully Interactive Mobile Display controller (FIMD)
         - Panel registration and lookup framework
         - Simple panels
         - Backlight & LCD device support
      
      - use pmu_system_controller phandle for dp phy
        : DP PHY requires pmu_system_controller to handle PMU reg. now
      
      * tag 'samsung-fixes-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: exynos_defconfig: Enable LM90 driver
        ARM: exynos_defconfig: Enable options for display panel support
        arm: dts: Use pmu_system_controller phandle for dp phy
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      966903a9
    • Tyler Baker's avatar
      reset: sunxi: fix spinlock initialization · 41544f9f
      Tyler Baker authored
      
      
      Call spin_lock_init() before the spinlocks are used, both in early init
      and probe functions preventing a lockdep splat.
      
      I have been observing lockdep complaining [1] during boot on my a80 optimus [2]
      when CONFIG_PROVE_LOCKING has been enabled. This patch resolves the splat,
      and has been tested on a few other sunxi platforms without issue.
      
      [1] http://storage.kernelci.org/next/next-20150107/arm-multi_v7_defconfig+CONFIG_PROVE_LOCKING=y/lab-tbaker/boot-sun9i-a80-optimus.html
      [2] http://kernelci.org/boot/?a80-optimus
      
      Signed-off-by: default avatarTyler Baker <tyler.baker@linaro.org>
      Cc: <stable@vger.kernel.org>
      Acked-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      41544f9f
    • Olof Johansson's avatar
      Merge tag 'renesas-soc-fixes-for-v3.19' of... · a30e9318
      Olof Johansson authored
      Merge tag 'renesas-soc-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
      
      Merge "Renesas ARM Based SoC Fixes for v3.19" from Simon Horman:
      
      Renesas ARM Based SoC Fixes for v3.19
      
      This pull request is based on the last round of SoC updates for v3.19,
      Fourth Round of Renesas ARM Based SoC Updates for v3.19, tagged as
      renesas-soc3-for-v3.19, merged into your next/soc branch and included in
      v3.19-rc1.
      
      - ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds
      
        Set .control_parent for all irqpin instances for sh73a0 SoC when booting
        using legacy C.
      
      - ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds
      
        This fixes a long standing problem which has been present since
        the sh73a0 SoC started using the INTC External IRQ pin driver.
      
        The patch that introduced the problem is 341eb546 ("ARM:
        shmobile: INTC External IRQ pin driver on sh73a0") which was included
        in v3.10.
      
      * tag 'renesas-soc-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
        ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instances
        ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds
      a30e9318
    • Abhilash Kesavan's avatar
      ARM: dts: disable CCI on exynos5420 based arndale-octa · 25217fef
      Abhilash Kesavan authored
      
      
      The arndale-octa board was giving "imprecise external aborts" during
      boot-up with MCPM enabled. CCI enablement of the boot cluster was found
      to be the cause of these aborts (possibly because the secure f/w was not
      allowing it). Hence, disable CCI for the arndale-octa board.
      
      Signed-off-by: default avatarAbhilash Kesavan <a.kesavan@samsung.com>
      Tested-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Tested-by: default avatarKevin Hilman <khilman@linaro.org>
      Tested-by: default avatarTyler Baker <tyler.baker@linaro.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      25217fef
    • Abhilash Kesavan's avatar
      drivers: bus: check cci device tree node status · 896ddd60
      Abhilash Kesavan authored
      
      
      The arm-cci driver completes the probe sequence even if the cci node is
      marked as disabled. Add a check in the driver to honour the cci status
      in the device tree.
      
      Signed-off-by: default avatarAbhilash Kesavan <a.kesavan@samsung.com>
      Acked-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Tested-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Tested-by: default avatarKevin Hilman <khilman@linaro.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      896ddd60
    • Olof Johansson's avatar
      Merge tag 'at91-fixes' of... · 6fda93b9
      Olof Johansson authored
      
      Merge tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into fixes
      
      Merge "at91: fixes for 3.19 #1 (ter)" from Nicolas Ferre:
      
      First fixes batch for AT91 on 3.19:
      - fix some DT entries
      - correct clock entry for the at91sam9263 LCD
      - add a phy_fixup for Eth1 on sama5d4
      
      * tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
        ARM: at91: board-dt-sama5: add phy_fixup to override NAND_Tree
        ARM: at91/dt: sam9263: Add missing clocks to lcdc node
        ARM: at91: sama5d3: dt: correct the sound route
        ARM: at91/dt: sama5d4: fix the timer reg length
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      6fda93b9
    • Heiko Stübner's avatar
      ARM: rockchip: disable jtag/sdmmc autoswitching on rk3288 · c9b75d51
      Heiko Stübner authored
      
      
      rk3288 SoCs have a function to automatically switch between jtag/sdmmc pinmux
      settings depending on the card state. This collides with a lot of assumptions.
      
      It only works when using the internal card-detect mechanism and breaks
      horribly when using either the normal card-detect via the slot-gpio function
      or via any other pin. Also there is of course no link between the mmc and jtag
      on the software-side, so the jtag clocks may very well be disabled when the
      card is ejected and the soc switches back to the jtag pinmux.
      
      Leaving the switching function enabled did result in mmc timeouts and rcu
      stalls thus hanging the system on 3.19-rc1. Therefore disable it in all cases,
      as we expect the devicetree to explicitly select either mmc or jtag pinmuxes
      anyway.
      
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      c9b75d51
    • Olof Johansson's avatar
      Merge tag 'berlin-fixes-for-3.19-1' of... · 1dbb36bc
      Olof Johansson authored
      
      Merge tag 'berlin-fixes-for-3.19-1' of git://git.infradead.org/users/hesselba/linux-berlin into fixes
      
      Merge "ARM: berlin: Fixes for v3.19 (round 1)" from Sebastian Hesselbarth:
      
      Marvell Berlin fixes for v3.19 round 1:
      - SDHCI DT fixes for BG2Q and BG2Q reference board
      - BG2Q SM GPIO DT node relocation
      
      * tag 'berlin-fixes-for-3.19-1' of git://git.infradead.org/users/hesselba/linux-berlin:
        ARM: dts: berlin: correct BG2Q's SM GPIO location.
        ARM: dts: berlin: add broken-cd and set bus width for eMMC in Marvell DMP DT
        ARM: dts: berlin: fix io clk and add missing core clk for BG2Q sdhci2 host
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      1dbb36bc
    • Linus Walleij's avatar
      ARM: nomadik: fix up leftover device tree pins · 259e4384
      Linus Walleij authored
      
      
      We altered the device tree bindings for the Nomadik family of
      pin controllers to be standard, this file was merged out-of-order
      so we missed fixing this. Fix it up.
      
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      259e4384
    • Olof Johansson's avatar
      Merge tag 'omap-for-v3.19/fixes-rc1' of... · e3db2217
      Olof Johansson authored
      
      Merge tag 'omap-for-v3.19/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Merge "omap fixes against v3.19-rc1" from Tony Lindgren:
      
      Fixes for omaps mostly to deal with dra7 timer issues
      and hypervisor mode. The other fixes are minor fixes for
      various boards. The summary of the fixes is:
      
      - Fix real-time counter rate typos for some frequencies
      - Fix counter frequency drift for am572x
      - Fix booting of secondary CPU in HYP mode
      - Fix n900 board name for legacy user space
      - Fix cpufreq in omap2plus_defconfig after Kconfig change
      - Fix dra7 qspi partitions
      
      And also, let's re-enable smc91x on some n900 boards that
      we have sitting in a few test boot systems after the boot
      loader dependencies got fixed.
      
      * tag 'omap-for-v3.19/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: Revert disabling of smc91x for n900
        ARM: dts: dra7-evm: fix qspi device tree partition size
        ARM: omap2plus_defconfig: use CONFIG_CPUFREQ_DT
        ARM: OMAP2+: Fix n900 board name for legacy user space
        ARM: omap5/dra7xx: Enable booting secondary CPU in HYP mode
        ARM: dra7xx: Fix counter frequency drift for AM572x errata i856
        ARM: omap5/dra7xx: Fix frequency typos
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      e3db2217
    • Olof Johansson's avatar
      Merge tag 'imx-fixes-3.19' of... · 3be81429
      Olof Johansson authored
      
      Merge tag 'imx-fixes-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
      
      Merge "ARM: imx: fixes for 3.19" from Shawn Guo:
      
      The i.MX fixes for 3.19:
       - One fix for incorrect i.MX25 SPI1 clock assignment in device tree,
         which causes system hang when accessing SPI1.
       - Correct i.MX6SX QSPI parent clock configuration to fix a kernel Oops.
       - Fix ULPI PHY reset modelling on imx51-babbage board to remove the
         dependency on bootloader for USB3317 ULPI PHY reset.
       - Correct video divider setting on i.MX6Q rev T0 1.0 to fix the issue
         that HDMI is not working at high resolution on T0 1.0.
       - One incremental fix for CODA960 VPU enabling in device tree to
         correct interrupt order.
       - LS1021A SCFG block works in BE mode, add device tree property
         big-endian to make it right.
      
      * tag 'imx-fixes-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        ARM: dts: imx51-babbage: Fix ULPI PHY reset modelling
        ARM: imx6sx: Set PLL2 as parent of QSPI clocks
        ARM: dts: imx25: Fix the SPI1 clocks
        ARM: clk-imx6q: fix video divider for rev T0 1.0
        ARM: dts: imx6qdl: Fix CODA960 interrupt order
        ARM: ls1021a: dtsi: add 'big-endian' property for scfg node
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      3be81429
    • Olof Johansson's avatar
      Merge tag 'v3.19-rockchip-dtsfixes1' of... · 1591dc44
      Olof Johansson authored
      
      Merge tag 'v3.19-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into fixes
      
      Merge "ARM: rockchip: dts fix for 3.19" from Heiko Stübner:
      
      Increase drive-strength to sdmmc pins on rk3288-evb to fix
      an issue with the fixed highspeed card detection.
      
      * tag 'v3.19-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
        ARM: dts: rockchip: bump sd card pin drive strength up on rk3288-evb
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      1591dc44
    • Louis Langholtz's avatar
      kernel: avoid overflow in cmp_range · fc7f0dd3
      Louis Langholtz authored
      
      
      Avoid overflow possibility.
      
      [ The overflow is purely theoretical, since this is used for memory
        ranges that aren't even close to using the full 64 bits, but this is
        the right thing to do regardless.  - Linus ]
      
      Signed-off-by: default avatarLouis Langholtz <lou_langholtz@me.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Peter Anvin <hpa@linux.intel.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fc7f0dd3
    • Sukadev Bhattiprolu's avatar
      perf tools powerpc: Use dwfl_report_elf() instead of offline. · 6bcf9c1f
      Sukadev Bhattiprolu authored
      
      
      dwfl_report_offline() works only when libraries are prelinked.
      
      Replace dwfl_report_offline() with dwfl_report_elf() so we correctly
      extract debug info even from libraries that are not prelinked.
      
      Reported-by: default avatarJiri Olsa <jolsa@redhat.com>
      Signed-off-by: default avatarSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
      Tested-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Link: http://lkml.kernel.org/r/20150114221045.GA17703@us.ibm.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6bcf9c1f