Skip to content
  1. Sep 09, 2014
    • Maarten Lankhorst's avatar
      android: fix reference leak in sync_fence_create · 3ea411c5
      Maarten Lankhorst authored
      
      
      According to the documentation sync_fence_create takes ownership of the point,
      not a reference on the point.
      
      This fixes a memory leak introduced in 3.17's android fence rework.
      
      Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Cc: Colin Cross <ccross@google.com>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3ea411c5
    • Russell King's avatar
      imx-drm: imx-ldb: fix NULL pointer in imx_ldb_unbind() · d9fdb9fb
      Russell King authored
      When trying to unbind imx-drm, the following oops was observed from
      the imx-ldb driver:
      
      Unable to handle kernel NULL pointer dereference at virtual address 0000001c
      pgd = de954000
      [0000001c] *pgd=2e92c831, *pte=00000000, *ppte=00000000
      Internal error: Oops: 17 [#1] SMP ARM
      Modules linked in: bnep rfcomm bluetooth nfsd exportfs hid_cypress brcmfmac brcmutil snd_soc_fsl_ssi snd_soc_fsl_spdif imx_pcm_fiq imx_pcm_dma imx_ldb(C) imx_thermal imx_sdma imx2_wdt snd_soc_sgtl5000 snd_soc_imx_sgtl5000 snd_soc_imx_spdif snd_soc_imx_audmux
      CPU: 1 PID: 1228 Comm: bash Tainted: G         C    3.16.0-rc2+ #1229
      task: ea378d80 ti: de948000 task.ti: de948000
      PC is at imx_ldb_unbind+0x1c/0x58 [imx_ldb]
      LR is at component_unbind+0x38/0x70
      pc : [<bf025068>]    lr : [<c0353108>]    psr: 200f0013
      sp : de949da8  ip : de949dc0  fp : de949dbc
      r10: e9a44b0c  r9 : 00000000  r8 : de949f78
      r7 : 00000012  r6 : e9b3f400  r5 : e9b133b8  r4 : e9b13010
      r3 : 00000000  r2 : e9b3f400  r1 : ea9a0210  r0 : e9b13020
      Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 10c53c7d  Table: 2e95404a  DAC: 00000015
      Process bash (pid: 1228, stack limit = 0xde948240)
      Stack: (0xde949da8 to 0xde94a000)
      ...
      Backtrace:
      [<bf02504c>] (imx_ldb_unbind [imx_ldb]) from [<c0353108>] (component_unbind+0x38/0x70)
      [<c03530d0>] (component_unbind) from [<c03531d4>] (component_unbind_all+0x94/0xc8)
      [<c0353140>] (component_unbind_all) from [<c04bc224>] (imx_drm_driver_unload+0x34/0x4c)
      [<c04bc1f0>] (imx_drm_driver_unload) from [<c03394a4>] (drm_dev_unregister+0x2c/0xa0)
      [<c0339478>] (drm_dev_unregister) from [<c0339f8c>] (drm_put_dev+0x30/0x6c)
      [<c0339f5c>] (drm_put_dev) from [<c04bc1cc>] (imx_drm_unbind+0x14/0x18)
      [<c04bc1b8>] (imx_drm_unbind) from [<c03530b4>] (component_master_del+0xbc/0xd8)
      ...
      Code: e5904058 e2840010 e2845fea e59430a0 (e593301c)
      ---[ end trace 4f211c6dbbcd4963 ]---
      
      This is caused by only having one channel out of the pair configured in
      DT; the second channel remains uninitialised, but upon unbind, the
      driver attempts to clean up both, thereby dereferencing a NULL pointer.
      Avoid this by checking that the second channel is initialised.
      
      Fixes: 1b3f7675
      
       ("imx-drm: initialise drm components directly")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d9fdb9fb
    • Russell King's avatar
      imx-drm: ipuv3-plane: fix ipu_plane_dpms() · 3a44a205
      Russell King authored
      When unbinding imx-drm, the following oops was observed:
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000004
      pgd = e995c000
      [00000004] *pgd=4fea5831
      Internal error: Oops: 817 [#1] SMP ARM
      Modules linked in: bnep rfcomm bluetooth nfsd exportfs hid_cypress brcmfmac brcmutil snd_soc_fsl_ssi snd_soc_fsl_spdif imx_pcm_fiq imx_pcm_dma snd_soc_sgtl5000 imx_sdma imx2_wdt imx_ldb(C) imx_thermal snd_soc_imx_sgtl5000 snd_soc_imx_spdif snd_soc_imx_audmux
      CPU: 1 PID: 779 Comm: bash Tainted: G         C    3.16.0-rc2+ #1230
      task: ea9eb180 ti: ea378000 task.ti: ea378000
      PC is at ipu_dp_put+0x10/0x18
      LR is at ipu_plane_dpms+0x60/0x8c
      pc : [<c0350d20>]    lr : [<c04bd9e8>]    psr: 200f0013
      sp : ea379d80  ip : ea379d90  fp : ea379d8c
      r10: 00100100  r9 : 00000000  r8 : 00200200
      r7 : e9ba0264  r6 : e9ba01f8  r5 : 00000000  r4 : ea34b800
      r3 : 00000000  r2 : 00000000  r1 : 0000009b  r0 : 00000000
      Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 10c53c7d  Table: 3995c04a  DAC: 00000015
      Process bash (pid: 779, stack limit = 0xea378240)
      Stack: (0xea379d80 to 0xea37a000)
      ...
      Backtrace:
      [<c0350d10>] (ipu_dp_put) from [<c04bd9e8>] (ipu_plane_dpms+0x60/0x8c)
      [<c04bd988>] (ipu_plane_dpms) from [<c04bda40>] (ipu_disable_plane+0x2c/0x60)
      [<c04bda14>] (ipu_disable_plane) from [<c04bda9c>] (ipu_plane_destroy+0x28/0x60)
      [<c04bda74>] (ipu_plane_destroy) from [<c033ff84>] (drm_mode_config_cleanup+0x1b8/0x250)
      [<c033fdcc>] (drm_mode_config_cleanup) from [<c04bc234>] (imx_drm_driver_unload+0x44/0x4c)
      [<c04bc1f0>] (imx_drm_driver_unload) from [<c03394a4>] (drm_dev_unregister+0x2c/0xa0)
      [<c0339478>] (drm_dev_unregister) from [<c0339f8c>] (drm_put_dev+0x30/0x6c)
      [<c0339f5c>] (drm_put_dev) from [<c04bc1cc>] (imx_drm_unbind+0x14/0x18)
      [<c04bc1b8>] (imx_drm_unbind) from [<c03530b4>] (component_master_del+0xbc/0xd8)
      ...
      Code: e1a0c00d e92dd800 e24cb004 e3a03000 (e5c03004)
      
      This is caused by a missing check in ipu_plane_dpms for a NULL pointer.
      
      Fixes: b8d181e4
      
       ("staging: drm/imx: add drm plane support")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3a44a205
  2. Sep 01, 2014
    • Linus Torvalds's avatar
      Linux 3.17-rc3 · 69e273c0
      Linus Torvalds authored
      69e273c0
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20140830' of git://github.com/czankel/xtensa-linux · 05bdb8c9
      Linus Torvalds authored
      Pull Xtensa updates from Chris Zankel:
       "Xtensa improvements for 3.17:
         - support highmem on cores with aliasing data cache.  Enable highmem
           on kc705 by default
         - simplify addition of new core variants (no need to modify Kconfig /
           Makefiles)
         - improve robustness of unaligned access handler and its interaction
           with window overflow/underflow exception handlers
         - deprecate atomic and spill registers syscalls
         - clean up Kconfig: remove orphan MATH_EMULATION, sort 'select'
           statements
         - wire up renameat2 syscall.
      
        Various fixes:
         - fix address checks in dma_{alloc,free}_coherent (runtime BUG)
         - fix access to THREAD_RA/THREAD_SP/THREAD_DS (debug build breakage)
         - fix TLBTEMP_BASE_2 region handling in fast_second_level_miss
           (runtime unrecoverable exception)
         - fix a6 and a7 handling in fast_syscall_xtensa (runtime userspace
           register clobbering)
         - fix kernel/user jump out of fast_unaligned (potential runtime
           unrecoverabl exception)
         - replace termios IOCTL code definitions with constants (userspace
           build breakage)"
      
      * tag 'xtensa-20140830' of git://github.com/czankel/xtensa-linux: (25 commits)
        xtensa: deprecate fast_xtensa and fast_spill_registers syscalls
        xtensa: don't allow overflow/underflow on unaligned stack
        xtensa: fix a6 and a7 handling in fast_syscall_xtensa
        xtensa: allow single-stepping through unaligned load/store
        xtensa: move invalid unaligned instruction handler closer to its users
        xtensa: make fast_unaligned store restartable
        xtensa: add double exception fixup handler for fast_unaligned
        xtensa: fix kernel/user jump out of fast_unaligned
        xtensa: configure kc705 for highmem
        xtensa: support highmem in aliasing cache flushing code
        xtensa: support aliasing cache in kmap
        xtensa: support aliasing cache in k[un]map_atomic
        xtensa: implement clear_user_highpage and copy_user_highpage
        xtensa: fix TLBTEMP_BASE_2 region handling in fast_second_level_miss
        xtensa: allow fixmap and kmap span more than one page table
        xtensa: make fixmap region addressing grow with index
        xtensa: fix access to THREAD_RA/THREAD_SP/THREAD_DS
        xtensa: add renameat2 syscall
        xtensa: fix address checks in dma_{alloc,free}_coherent
        xtensa: replace IOCTL code definitions with constants
        ...
      05bdb8c9
    • Guenter Roeck's avatar
      unicore32: Fix build error · ca98565a
      Guenter Roeck authored
      unicore32 builds fail with
      
        arch/unicore32/kernel/signal.c: In function ‘setup_frame’:
        arch/unicore32/kernel/signal.c:257: error: ‘usig’ undeclared (first use in this function)
        arch/unicore32/kernel/signal.c:279: error: ‘usig’ undeclared (first use in this function)
        arch/unicore32/kernel/signal.c: In function ‘handle_signal’:
        arch/unicore32/kernel/signal.c:306: warning: unused variable ‘tsk’
        arch/unicore32/kernel/signal.c: In function ‘do_signal’:
        arch/unicore32/kernel/signal.c:376: error: implicit declaration of function ‘get_signsl’
        make[1]: *** [arch/unicore32/kernel/signal.o] Error 1
        make: *** [arch/unicore32/kernel/signal.o] Error 2
      
      Bisect points to commit 649671c9 ("unicore32: Use get_signal()
      signal_setup_done()").
      
      This code never even compiled.  Reverting the patch does not work, since
      previously used functions no longer exist, so try to fix it up.  Compile
      tested only.
      
      Fixes: 649671c9
      
       ("unicore32: Use get_signal() signal_setup_done()")
      Cc: Richard Weinberger <richard@nod.at>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ca98565a
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 94559a4a
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Various assorted fixes:
      
         - a couple of patches from Mark Rutland to resolve an errata with
           Cortex-A15 CPUs.
         - fix cpuidle for the CPU part ID changes in the last merge window
         - add support for a relocation which ARM binutils is generating in
           some circumstances"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8130/1: cpuidle/cpuidle-big_little: fix reading cpu id part number
        ARM: 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy strex
        ARM: 8128/1: abort: don't clear the exclusive monitors
        ARM: 8127/1: module: add support for R_ARM_TARGET1 relocations
      94559a4a
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 19ed3eb9
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Here's the weekly batch of fixes from arm-soc.
      
        The delta is a largeish negative delta, due to revert of SMP support
        for Broadcom's STB SoC -- it was accidentally merged before some
        issues had been addressed, so they will make a new attempt for 3.18.
        I didn't see a need for a full revert of the whole platform due to
        this, we're keeping the rest enabled.
      
        The rest is mostly:
      
         - a handful of DT fixes for i.MX (Hummingboard/Cubox-i in particular)
         - some MTD/NAND fixes for OMAP
         - minor DT fixes for shmobile
         - warning fix for UP builds on vexpress/spc
      
        There's also a couple of patches that wires up hwmod on TI's DRA7 SoC
        so it can boot.  Drivers and the rest had landed for 3.17, and it's
        small and isolated so it made sense to pick up now even if it's not a
        bugfix"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits)
        vexpress/spc: fix a build warning on array bounds
        ARM: DRA7: hwmod: Add dra74x and dra72x specific ocp interface lists
        ARM: DRA7: Add support for soc_is_dra74x() and soc_is_dra72x() variants
        MAINTAINERS: catch special Rockchip code locations
        ARM: dts: microsom-ar8035: MDIO pad must be set open drain
        ARM: dts: omap54xx-clocks: Fix the l3 and l4 clock rates
        ARM: brcmstb: revert SMP support
        ARM: OMAP2+: hwmod: Rearm wake-up interrupts for DT when MUSB is idled
        ARM: dts: Enable UART wake-up events for beagleboard
        ARM: dts: Remove twl6030 clk32g "regulator"
        ARM: OMAP2+: omap_device: remove warning that clk alias already exists
        ARM: OMAP: fix %d confusingly prefixed with 0x in format string
        ARM: dts: DRA7: fix interrupt-cells for GPIO
        mtd: nand: omap: Fix 1-bit Hamming code scheme, omap_calculate_ecc()
        ARM: dts: omap3430-sdp: Revert to using software ECC for NAND
        ARM: OMAP2+: GPMC: Support Software ECC scheme via DT
        mtd: nand: omap: Revert to using software ECC by default
        ARM: dts: hummingboard/cubox-i: change SPDIF output to be more descriptive
        ARM: dts: hummingboard/cubox-i: add USB OC pinctrl configuration
        ARM: shmobile: r8a7791: add missing 0x0100 for SDCKCR
        ...
      19ed3eb9
    • Alex Shi's avatar
      vexpress/spc: fix a build warning on array bounds · e160cc17
      Alex Shi authored
      
      
      With ARCH_VEXPRESS_SPC option, kernel build has the following
      warning:
      
      arch/arm/mach-vexpress/spc.c: In function ‘ve_spc_clk_init’:
      arch/arm/mach-vexpress/spc.c:431:38: warning: array subscript is below array bounds [-Warray-bounds]
        struct ve_spc_opp *opps = info->opps[cluster];
                                            ^
      since 'cluster' maybe '-1' in UP system. This patch does a active
      checking to fix this issue.
      
      Signed-off-by: default avatarAlex Shi <alex.shi@linaro.org>
      Acked-by: default avatarPawel Moll <pawel.moll@arm.com>
      Acked-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      e160cc17
    • Olof Johansson's avatar
      Merge tag 'for-v3.17-rc/omap-dra72x-d74x-support-a' of... · 98fd1508
      Olof Johansson authored
      Merge tag 'for-v3.17-rc/omap-dra72x-d74x-support-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into fixes
      
      Pull "ARM: OMAP2+: DRA72x/DRA74x basic support" from Tony Lindgren:
      
      Add basic subarchitecture support for the DRA72x and DRA74x.  These
      are OMAP2+ derivative SoCs.  This should be low-risk to existing OMAP
      platforms.
      
      Basic build, boot, and PM test logs are available here:
      
      http://www.pwsan.com/omap/testlogs/hwmod-a-early-v3.17-rc/20140827194314/
      
      * tag 'for-v3.17-rc/omap-dra72x-d74x-support-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending
      
      :
        ARM: DRA7: hwmod: Add dra74x and dra72x specific ocp interface lists
        ARM: DRA7: Add support for soc_is_dra74x() and soc_is_dra72x() variants
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      98fd1508
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.17-rc3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 81bbadc6
      Linus Torvalds authored
      Pull spi bugfixes from Mark Brown:
       "A smattering of bug fixes for the SPI subsystem, all in driver code
        which has seen active work recently and none of them with any great
        global impact.
      
        There's also a new ACPI ID for the pxa2xx driver which required no
        code changes and the addition of kerneldoc for some structure fields
        that were missing it and generating warnings during documentation
        builds as a result"
      
      * tag 'spi-v3.17-rc3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: sh-msiof: Fix transmit-only DMA transfers
        spi/rockchip: Avoid accidentally turning off the clock
        spi: dw: fix kernel crash due to NULL pointer dereference
        spi: dw-pci: fix bug when regs left uninitialized
        spi: davinci: fix SPI_NO_CS functionality
        spi/rockchip: fixup incorrect dma direction setting
        spi/pxa2xx: Add ACPI ID for Intel Braswell
        spi: spi-au1550: fix build failure
        spi: rspi: Fix leaking of unused DMA descriptors
        spi: sh-msiof: Fix leaking of unused DMA descriptors
        spi: Add missing kerneldoc bits
        spi/omap-mcspi: Fix the spi task hangs waiting dma_rx
      81bbadc6
  3. Aug 31, 2014
  4. Aug 30, 2014