1. 20 10月, 2014 34 次提交
  2. 19 10月, 2014 6 次提交
    • D
      sparc64: Do not define thread fpregs save area as zero-length array. · e2653143
      David S. Miller 提交于
      This breaks the stack end corruption detection facility.
      
      What that facility does it write a magic value to "end_of_stack()"
      and checking to see if it gets overwritten.
      
      "end_of_stack()" is "task_thread_info(p) + 1", which for sparc64 is
      the beginning of the FPU register save area.
      
      So once the user uses the FPU, the magic value is overwritten and the
      debug checks trigger.
      
      Fix this by making the size explicit.
      
      Due to the size we use for the fpsaved[], gsr[], and xfsr[] arrays we
      are limited to 7 levels of FPU state saves.  So each FPU register set
      is 256 bytes, allocate 256 * 7 for the fpregs area.
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e2653143
    • D
      sparc64: Fix corrupted thread fault code. · 84bd6d8b
      David S. Miller 提交于
      Every path that ends up at do_sparc64_fault() must install a valid
      FAULT_CODE_* bitmask in the per-thread fault code byte.
      
      Two paths leading to the label winfix_trampoline (which expects the
      FAULT_CODE_* mask in register %g4) were not doing so:
      
      1) For pre-hypervisor TLB protection violation traps, if we took
         the 'winfix_trampoline' path we wouldn't have %g4 initialized
         with the FAULT_CODE_* value yet.  Resulting in using the
         TLB_TAG_ACCESS register address value instead.
      
      2) In the TSB miss path, when we notice that we are going to use a
         hugepage mapping, but we haven't allocated the hugepage TSB yet, we
         still have to take the window fixup case into consideration and
         in that particular path we leave %g4 not setup properly.
      
      Errors on this sort were largely invisible previously, but after
      commit 4ccb9272 ("sparc64: sun4v TLB
      error power off events") we now have a fault_code mask bit
      (FAULT_CODE_BAD_RA) that triggers due to this bug.
      
      FAULT_CODE_BAD_RA triggers because this bit is set in TLB_TAG_ACCESS
      (see #1 above) and thus we get seemingly random bus errors triggered
      for user processes.
      
      Fixes: 4ccb9272 ("sparc64: sun4v TLB error power off events")
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      84bd6d8b
    • L
      Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma · 52d589a0
      Linus Torvalds 提交于
      Pull slave-dmaengine updates from Vinod Koul:
       "For dmaengine contributions we have:
         - designware cleanup by Andy
         - my series moving device_control users to dmanegine_xxx APIs for
           later removal of device_control API
         - minor fixes spread over drivers mainly mv_xor, pl330, mmp, imx-sdma
           etc"
      
      * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (60 commits)
        serial: atmel: add missing dmaengine header
        dmaengine: remove FSLDMA_EXTERNAL_START
        dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method
        carma-fpga: move to fsl_dma_external_start()
        carma-fpga: use dmaengine_xxx() API
        dmaengine: freescale: add and export fsl_dma_external_start()
        dmaengine: add dmaengine_prep_dma_sg() helper
        video: mx3fb: use dmaengine_terminate_all() API
        serial: sh-sci: use dmaengine_terminate_all() API
        net: ks8842: use dmaengine_terminate_all() API
        mtd: sh_flctl: use dmaengine_terminate_all() API
        mtd: fsmc_nand: use dmaengine_terminate_all() API
        V4L2: mx3_camer: use dmaengine_pause() API
        dmaengine: coh901318: use dmaengine_terminate_all() API
        pata_arasan_cf: use dmaengine_terminate_all() API
        dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause()
        dmaengine: dw: export probe()/remove() and Co to users
        dmaengine: dw: enable and disable controller when needed
        dmaengine: dw: always export dw_dma_{en,dis}able
        dmaengine: dw: introduce dw_dma_on() helper
        ...
      52d589a0
    • L
      Merge tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · 0a582821
      Linus Torvalds 提交于
      Pull fbdev updates from Tomi Valkeinen:
       - new 6x10 font
       - various small fixes and cleanups
      
      * tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (30 commits)
        fonts: Add 6x10 font
        videomode: provide dummy inline functions for !CONFIG_OF
        video/atmel_lcdfb: Introduce regulator support
        fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume
        framebuffer: fix screen corruption when copying
        framebuffer: fix border color
        arm, fbdev, omap2, LLVMLinux: Remove nested function from omapfb
        arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss
        video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info
        video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer from fb_info
        video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info
        video: fbdev: controlfb.c: use container_of to resolve fb_info_control from fb_info
        video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info from fb_info
        video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info
        video: fbdev: sis: sis_main.c: Cleaning up missing null-terminate in conjunction with strncpy
        video: valkyriefb: Fix unused variable warning in set_valkyrie_clock()
        video: fbdev: use %*ph specifier to dump small buffers
        video: mx3fb: always enable BACKLIGHT_LCD_SUPPORT
        video: fbdev: au1200fb: delete double assignment
        video: fbdev: sis: delete double assignment
        ...
      0a582821
    • L
      Merge tag 'kvm-arm-for-3.18-take-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm · 8a5de182
      Linus Torvalds 提交于
      Pull second batch of changes for KVM/{arm,arm64} from Marc Zyngier:
       "The most obvious thing is the sizeable MMU changes to support 48bit
        VAs on arm64.
      
        Summary:
      
         - support for 48bit IPA and VA (EL2)
         - a number of fixes for devices mapped into guests
         - yet another VGIC fix for BE
         - a fix for CPU hotplug
         - a few compile fixes (disabled VGIC, strict mm checks)"
      
      [ I'm pulling directly from Marc at the request of Paolo Bonzini, whose
        backpack was stolen at Düsseldorf airport and will do new keys and
        rebuild his web of trust.    - Linus ]
      
      * tag 'kvm-arm-for-3.18-take-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm:
        arm/arm64: KVM: Fix BE accesses to GICv2 EISR and ELRSR regs
        arm: kvm: STRICT_MM_TYPECHECKS fix for user_mem_abort
        arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE
        arm64: KVM: Implement 48 VA support for KVM EL2 and Stage-2
        arm/arm64: KVM: map MMIO regions at creation time
        arm64: kvm: define PAGE_S2_DEVICE as read-only by default
        ARM: kvm: define PAGE_S2_DEVICE as read-only by default
        arm/arm64: KVM: add 'writable' parameter to kvm_phys_addr_ioremap
        arm/arm64: KVM: fix potential NULL dereference in user_mem_abort()
        arm/arm64: KVM: use __GFP_ZERO not memset() to get zeroed pages
        ARM: KVM: fix vgic-disabled build
        arm: kvm: fix CPU hotplug
      8a5de182
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 857b50f5
      Linus Torvalds 提交于
      Pull MIPS updates from Ralf Baechle:
       "This is the MIPS pull request for the next kernel:
      
         - Zubair's patch series adds CMA support for MIPS.  Doing so it also
           touches ARM64 and x86.
         - remove the last instance of IRQF_DISABLED from arch/mips
         - updates to two of the MIPS defconfig files.
         - cleanup of how cache coherency bits are handled on MIPS and
           implement support for write-combining.
         - platform upgrades for Alchemy
         - move MIPS DTS files to arch/mips/boot/dts/"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (24 commits)
        MIPS: ralink: remove deprecated IRQF_DISABLED
        MIPS: pgtable.h: Implement the pgprot_writecombine function for MIPS
        MIPS: cpu-probe: Set the write-combine CCA value on per core basis
        MIPS: pgtable-bits: Define the CCA bit for WC writes on Ingenic cores
        MIPS: pgtable-bits: Move the CCA bits out of the core's ifdef blocks
        MIPS: DMA: Add cma support
        x86: use generic dma-contiguous.h
        arm64: use generic dma-contiguous.h
        asm-generic: Add dma-contiguous.h
        MIPS: BPF: Add new emit_long_instr macro
        MIPS: ralink: Move device-trees to arch/mips/boot/dts/
        MIPS: Netlogic: Move device-trees to arch/mips/boot/dts/
        MIPS: sead3: Move device-trees to arch/mips/boot/dts/
        MIPS: Lantiq: Move device-trees to arch/mips/boot/dts/
        MIPS: Octeon: Move device-trees to arch/mips/boot/dts/
        MIPS: Add support for building device-tree binaries
        MIPS: Create common infrastructure for building built-in device-trees
        MIPS: SEAD3: Enable DEVTMPFS
        MIPS: SEAD3: Regenerate defconfigs
        MIPS: Alchemy: DB1300: Add touch penirq support
        ...
      857b50f5