1. 04 7月, 2014 2 次提交
    • A
      iommu/amd: Update to use PCI DMA aliases · c1931090
      Alex Williamson 提交于
      AMD-Vi already has a concept of an alias provided via the IVRS table.
      Now that PCI-core also understands aliases, we need to incorporate
      both aspects when programming the IOMMU.  IVRS is generally quite
      reliable, so we continue to prefer it when an alias is present.  For
      cases where we have an IVRS alias that does not match the PCI alias
      or where PCI does not report an alias, report the mismatch to allow
      us to collect more quirks and dynamically incorporate the alias into
      the device alias quirks where possible.
      
      This should allow AMD-Vi to work with devices like Marvell and Ricoh
      with DMA function alias quirks unknown to the BIOS.
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Signed-off-by: NJoerg Roedel <jroedel@suse.de>
      c1931090
    • A
      iommu/core: Create central IOMMU group lookup/creation interface · 104a1c13
      Alex Williamson 提交于
      Currently each IOMMU driver that supports IOMMU groups has its own
      code for discovering the base device used in grouping.  This code
      is generally not specific to the IOMMU hardware, but to the bus of
      the devices managed by the IOMMU.  We can therefore create a common
      interface for supporting devices on different buses.
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      Signed-off-by: NJoerg Roedel <jroedel@suse.de>
      104a1c13
  2. 30 6月, 2014 4 次提交
  3. 29 6月, 2014 9 次提交
    • W
      ARM: 8087/1: ptrace: reload syscall number after secure_computing() check · 42309ab4
      Will Deacon 提交于
      On the syscall tracing path, we call out to secure_computing() to allow
      seccomp to check the syscall number being attempted. As part of this, a
      SIGTRAP may be sent to the tracer and the syscall could be re-written by
      a subsequent SET_SYSCALL ptrace request. Unfortunately, this new syscall
      is ignored by the current code unless TIF_SYSCALL_TRACE is also set on
      the current thread.
      
      This patch slightly reworks the enter path of the syscall tracing code
      so that we always reload the syscall number from
      current_thread_info()->syscall after the potential ptrace traps.
      Acked-by: NKees Cook <keescook@chromium.org>
      Tested-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      42309ab4
    • L
      ARM: 8086/1: Set memblock limit for nommu · 6980c3e2
      Laura Abbott 提交于
      Commit 1c2f87c2 (ARM: 8025/1: Get rid of meminfo) changed find_limits
      to use memblock_get_current_limit for calculating the max_low pfn.
      nommu targets never actually set a limit on memblock though which
      means memblock_get_current_limit will just return the default
      value. Set the memblock_limit to be the end of DDR to make sure
      bounds are calculated correctly.
      Signed-off-by: NLaura Abbott <lauraa@codeaurora.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      6980c3e2
    • A
      ARM: 8085/1: sa1100: collie: add top boot mtd partition · 3abe7423
      Andrea Adami 提交于
      The CFI mapping is now perfect so we can expose the top block, read only.
      There isn't much to read, though, just the sharpsl_params values.
      Signed-off-by: NAndrea Adami <andrea.adami@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3abe7423
    • A
      ARM: 8084/1: sa1100: collie: revert back to cfi_probe · 92183103
      Andrea Adami 提交于
      Reverts commit d26b17ed
      ARM: sa1100: collie.c: fall back to jedec_probe flash detection
      
      Unfortunately the detection was challenged on the defective unit used for tests:
      one of the NOR chips did not respond to the CFI query.
      Moreover that bad device needed extra delays on erase-suspend/resume cycles.
      
      Tested personally on 3 different units and with feedback of two other users.
      Signed-off-by: NAndrea Adami <andrea.adami@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      92183103
    • N
      ARM: 8080/1: mcpm.h: remove unused variable declaration · d0ba7cc0
      Nicolas Pitre 提交于
      The sync_phys variable has been replaced by link time computation in
      mcpm_head.S before the code was submitted upstream.
      Signed-off-by: NNicolas Pitre <nico@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      d0ba7cc0
    • T
      ARM: 8076/1: mm: add support for HW coherent systems in PL310 cache · 98ea2dba
      Thomas Petazzoni 提交于
      When a PL310 cache is used on a system that provides hardware
      coherency, the outer cache sync operation is useless, and can be
      skipped. Moreover, on some systems, it is harmful as it causes
      deadlocks between the Marvell coherency mechanism, the Marvell PCIe
      controller and the Cortex-A9.
      
      To avoid this, this commit introduces a new Device Tree property
      'arm,io-coherent' for the L2 cache controller node, valid only for the
      PL310 cache. It identifies the usage of the PL310 cache in an I/O
      coherent configuration. Internally, it makes the driver disable the
      outer cache sync operation.
      
      Note that technically speaking, a fully coherent system wouldn't
      require any of the other .outer_cache operations. However, in
      practice, when booting secondary CPUs, these are not yet coherent, and
      therefore a set of cache maintenance operations are necessary at this
      point. This explains why we keep the other .outer_cache operations and
      only ->sync is disabled.
      
      While in theory any write to a PL310 register could cause the
      deadlock, in practice, disabling ->sync is sufficient to workaround
      the deadlock, since the other cache maintenance operations are only
      used in very specific situations.
      
      Contrary to previous versions of this patch, this new version does not
      simply NULL-ify the ->sync member, because the l2c_init_data
      structures are now 'const' and therefore cannot be modified, which is
      a good thing. Therefore, this patch introduces a separate
      l2c_init_data instance, called of_l2c310_coherent_data.
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      98ea2dba
    • L
      Merge tag 'spi-v3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 24b414d5
      Linus Torvalds 提交于
      Pull spi fixes from Mark Brown:
       "A few driver specific fixes, the biggest one being a fix for the newly
        added Qualcomm SPI controller driver to make it not use its internal
        chip select due to hardware bugs, replacing it with GPIOs"
      
      * tag 'spi-v3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: qup: Remove chip select function
        spi: qup: Fix order of spi_register_master
        spi: sh-sci: fix use-after-free in sh_sci_spi_remove()
        spi/pxa2xx: fix incorrect SW mode chipselect setting for BayTrail LPSS SPI
      24b414d5
    • L
      Merge tag 'regulator-v3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 4194976b
      Linus Torvalds 提交于
      Pull regulator fixes from Mark Brown:
       "Several driver specific fixes here, the palmas fixes being especially
        important for a range of boards - the recent updates to support new
        devices have introduced several regressions"
      
      * tag 'regulator-v3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: tps65218: Correct the the config register for LDO1
        regulator: tps65218: Add the missing of_node assignment in probe
        regulator: palmas: fix typo in enable_reg calculation
        regulator: bcm590xx: fix vbus name
        regulator: palmas: Fix SMPS enable/disable/is_enabled
      4194976b
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · eb477e03
      Linus Torvalds 提交于
      Pull SCSI target fixes from Nicholas Bellinger:
       "Mostly minor fixes this time around.  The highlights include:
      
         - iscsi-target CHAP authentication fixes to enforce explicit key
           values (Tejas Vaykole + rahul.rane)
         - fix a long-standing OOPs in target-core when a alua configfs
           attribute is accessed after port symlink has been removed.
           (Sebastian Herbszt)
         - fix a v3.10.y iscsi-target regression causing the login reject
           status class/detail to be ignored (Christoph Vu-Brugier)
         - fix a v3.10.y iscsi-target regression to avoid rejecting an
           existing ITT during Data-Out when data-direction is wrong (Santosh
           Kulkarni + Arshad Hussain)
         - fix a iscsi-target related shutdown deadlock on UP kernels (Mikulas
           Patocka)
         - fix a v3.16-rc1 build issue with vhost-scsi + !CONFIG_NET (MST)"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        iscsi-target: fix iscsit_del_np deadlock on unload
        iovec: move memcpy_from/toiovecend to lib/iovec.c
        iscsi-target: Avoid rejecting incorrect ITT for Data-Out
        tcm_loop: Fix memory leak in tcm_loop_submission_work error path
        iscsi-target: Explicily clear login response PDU in exception path
        target: Fix left-over se_lun->lun_sep pointer OOPs
        iscsi-target; Enforce 1024 byte maximum for CHAP_C key value
        iscsi-target: Convert chap_server_compute_md5 to use kstrtoul
      eb477e03
  4. 28 6月, 2014 15 次提交
    • M
    • M
      Merge remote-tracking branches 'regulator/fix/bcm590xx',... · 11767484
      Mark Brown 提交于
      Merge remote-tracking branches 'regulator/fix/bcm590xx', 'regulator/fix/palmas' and 'regulator/fix/tps65218' into regulator-linus
      11767484
    • M
      iscsi-target: fix iscsit_del_np deadlock on unload · 81a9c5e7
      Mikulas Patocka 提交于
      On uniprocessor preemptible kernel, target core deadlocks on unload. The
      following events happen:
      * iscsit_del_np is called
      * it calls send_sig(SIGINT, np->np_thread, 1);
      * the scheduler switches to the np_thread
      * the np_thread is woken up, it sees that kthread_should_stop() returns
        false, so it doesn't terminate
      * the np_thread clears signals with flush_signals(current); and goes back
        to sleep in iscsit_accept_np
      * the scheduler switches back to iscsit_del_np
      * iscsit_del_np calls kthread_stop(np->np_thread);
      * the np_thread is waiting in iscsit_accept_np and it doesn't respond to
        kthread_stop
      
      The deadlock could be resolved if the administrator sends SIGINT signal to
      the np_thread with killall -INT iscsi_np
      
      The reproducible deadlock was introduced in commit
      db6077fd, but the thread-stopping code was
      racy even before.
      
      This patch fixes the problem. Using kthread_should_stop to stop the
      np_thread is unreliable, so we test np_thread_state instead. If
      np_thread_state equals ISCSI_NP_THREAD_SHUTDOWN, the thread exits.
      Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      81a9c5e7
    • L
      Merge tag 'iommu-fixes-v3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 3e7b256c
      Linus Torvalds 提交于
      Pull IOMMU fixes from Joerg Roedel:
      
       - fix VT-d regression with handling multiple RMRR entries per device
      
       - fix a small race that was left in the mmu_notifier handling in the
         AMD IOMMUv2 driver
      
      * tag 'iommu-fixes-v3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Fix small race between invalidate_range_end/start
        iommu/vt-d: fix bug in handling multiple RMRRs for the same PCI device
      3e7b256c
    • L
      Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d1fc98ba
      Linus Torvalds 提交于
      Pull x86 fixes from Peter Anvin:
       "A pile of fixes related to the VDSO, EFI and 32-bit badsys handling.
      
        It turns out that removing the section headers from the VDSO breaks
        gdb, so this puts back most of them.  A very simple typo broke
        rt_sigreturn on some versions of glibc, with obviously disastrous
        results.  The rest is pretty much fixes for the corresponding fallout.
      
        The EFI fixes fixes an arithmetic overflow on 32-bit systems and
        quiets some build warnings.
      
        Finally, when invoking an invalid system call number on x86-32, we
        bypass a bunch of handling, which can make the audit code oops"
      
      * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi-pstore: Fix an overflow on 32-bit builds
        x86/vdso: Error out in vdso2c if DT_RELA is present
        x86/vdso: Move DISABLE_BRANCH_PROFILING into the vdso makefile
        x86_32, signal: Fix vdso rt_sigreturn
        x86_32, entry: Do syscall exit work on badsys (CVE-2014-4508)
        x86/vdso: Create .build-id links for unstripped vdso files
        x86/vdso: Remove some redundant in-memory section headers
        x86/vdso: Improve the fake section headers
        x86/vdso2c: Use better macros for ELF bitness
        x86/vdso: Discard the __bug_table section
        efi: Fix compiler warnings (unused, const, type)
      d1fc98ba
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · c9a60666
      Linus Torvalds 提交于
      Pull MIPS fixes from Ralf Baechle:
       "This is dominated by a large number of changes necessary for the MIPS
        BPF code.  code.  Aside of that there are
      
         - a fix for the MSC system controller support code.
         - a Turbochannel fix.
         - a recordmcount fix that's MIPS-specific.
         - barrier fixes to smp-cps / pm-cps after unrelated changes elsewhere
           in the kernel.
         - revert support for MSA registers in the signal frames.  The
           reverted patch did modify the signal stack frame which of course is
           inacceptable.
         - fix math-emu build breakage with older compilers.
         - some related cleanup.
         - fix Lasat build error if CONFIG_CRC32 isn't set to y by the user"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (27 commits)
        MIPS: Lasat: Fix build error if CRC32 is not enabled.
        TC: Handle device_register() errors.
        MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region
        MIPS: bpf: Fix stack space allocation for BPF memwords on MIPS64
        MIPS: BPF: Use 32 or 64-bit load instruction to load an address to register
        MIPS: bpf: Fix PKT_TYPE case for big-endian cores
        MIPS: BPF: Prevent kernel fall over for >=32bit shifts
        MIPS: bpf: Drop update_on_xread and always initialize the X register
        MIPS: bpf: Fix is_range() semantics
        MIPS: bpf: Use pr_debug instead of pr_warn for unhandled opcodes
        MIPS: bpf: Fix return values for VLAN_TAG_PRESENT case
        MIPS: bpf: Use correct mask for VLAN_TAG case
        MIPS: bpf: Fix branch conditional for BPF_J{GT/GE} cases
        MIPS: bpf: Add SEEN_SKB to flags when looking for the PKT_TYPE
        MIPS: bpf: Use 'andi' instead of 'and' for the VLAN cases
        MIPS: bpf: Return error code if the offset is a negative number
        MIPS: bpf: Use the LO register to get division's quotient
        MIPS: mm: uasm: Fix lh micro-assembler instruction
        MIPS: uasm: Add SLT uasm instruction
        MIPS: uasm: Add s3s1s2 instruction builder
        ...
      c9a60666
    • L
      Merge tag 'arc-fixes-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 1857a5b6
      Linus Torvalds 提交于
      Pull ARC fixes from Vineet Gupta:
       "Some SMP changes, a ptrace request for NPTL debugging, bunch of build
        breakages/warnings"
      
      * tag 'arc-fixes-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: [SMP] Enable icache coherency
        ARC: [SMP] Fix IPI IRQ registration
        ARC: Implement ptrace(PTRACE_GET_THREAD_AREA)
        ARC: optimize kernel bss clearing in early boot code
        ARC: Fix build breakage for !CONFIG_ARC_DW2_UNWIND
        ARC: fix build warning in devtree
        ARC: remove checks for CONFIG_ARC_MMU_V4
      1857a5b6
    • L
      Merge tag 'compress-3.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 8dd68eb3
      Linus Torvalds 提交于
      Pull compress bugfix from Greg KH:
       "Here is another lz4 bugfix for 3.16-rc3 that resolves a reported issue
        with that compression algorithm"
      
      * tag 'compress-3.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        lz4: fix another possible overrun
      8dd68eb3
    • L
      Merge tag 'stable/for-linus-3.16-rc1-tag' of... · 772205d8
      Linus Torvalds 提交于
      Merge tag 'stable/for-linus-3.16-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb
      
      Pull swiotlb bugfix from Konrad Rzeszutek Wilk:
       "One bug-fix that had been in tree for quite some time.  We had assumed
        that the physical address zero was invalid and would fail it.  But
        that is not true and on some architectures it is not reserved and
        valid.  This fixes it"
      
      * tag 'stable/for-linus-3.16-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
        swiotlb: don't assume PA 0 is invalid
      772205d8
    • L
      Merge tag 'sound-3.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · cf0d1356
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "Here includes a few patchset for fixing mostly HD-audio issues in
        addition to a patch assuring the compress API bytes alignment and a
        fix for the die-hard existing race condition at USB-audio
        disconnection.  The volume looks big in Realtek HD-audio code, but
        it's just a translation of the fixup tables, and the actual changes
        are rather trivial"
      
      * tag 'sound-3.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - restore BCLK M/N values when resuming HSW/BDW display controller
        ALSA: usb-audio: Fix races at disconnection and PCM closing
        ALSA: hda - Adjust speaker HPF and add LED support for HP Spectre 13
        ALSA: hda - Make the pin quirk tables use the SND_HDA_PIN_QUIRK macro
        ALSA: hda - Make a SND_HDA_PIN_QUIRK macro
        ALSA: hda - Add pin quirk for Dell XPS 15
        ALSA: hda - hdmi: call overridden init on resume
        ALSA: hda - Fix usage of "model" module parameter
        ALSA: compress: fix the struct alignment to 4 bytes
      cf0d1356
    • L
      Merge tag 'mfd-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 5ded6ea4
      Linus Torvalds 提交于
      Pull MFD fixes from Lee Jones:
       "Couple of simple fixes due for the v3.16 -rcs"
      
      * tag 'mfd-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd:
        mfd: ab8500: Fix dt irq mapping
        mfd: davinci: Voicecodec needs regmap_mmio
        mfd: STw481x: Allow modular build
        mfd: UCB1x00: Enable modular build
      5ded6ea4
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · c163b524
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Exynos, i915 and msm fixes and one core fix.
      
        exynos:
           hdmi power off and mixer issues
      
        msm:
           iommu, build fixes,
      
        i915:
           regression races and warning fixes"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (22 commits)
        drm/i915: vlv_prepare_pll is only needed in case of non DSI interfaces
        drm: fix NULL pointer access by wrong ioctl
        drm/exynos: enable vsync interrupt while waiting for vblank
        drm/exynos: soft reset mixer before reconfigure after power-on
        drm/exynos: allow multiple layer updates per vsync for mixer
        drm/i915: Hold the table lock whilst walking the file's idr and counting the objects in debugfs
        drm/i915: BDW: Adding Reserved PCI IDs.
        drm/i915: Only mark the ctx as initialised after a SET_CONTEXT operation
        drm/exynos: stop mixer before gating clocks during poweroff
        drm/exynos: set power state variable after enabling clocks and power
        drm/exynos: disable unused windows on apply
        drm/exynos: Fix de-registration ordering
        drm/exynos: change zero to NULL for sparse
        drm/exynos: dpi: Fix NULL pointer dereference with legacy bindings
        drm/exynos: hdmi: fix power order issue
        drm/i915: default to having backlight if VBT not available
        drm/i915: cache hw power well enabled state
        drm/msm: fix IOMMU cleanup for -EPROBE_DEFER
        drm/msm: use PAGE_ALIGNED instead of IS_ALIGNED(PAGE_SIZE)
        drm/msm/hdmi: set hdp clock rate before prepare_enable
        ...
      c163b524
    • M
      iovec: move memcpy_from/toiovecend to lib/iovec.c · ac5ccdba
      Michael S. Tsirkin 提交于
      ERROR: "memcpy_fromiovecend" [drivers/vhost/vhost_scsi.ko] undefined!
      
      commit 9f977ef7
          vhost-scsi: Include prot_bytes into expected data transfer length
      in target-pending makes drivers/vhost/scsi.c call memcpy_fromiovecend().
      This function is not available when CONFIG_NET is not enabled.
      
      socket.h already includes uio.h, so no callers need updating.
      Reported-by: NRandy Dunlap <rdunlap@infradead.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      ac5ccdba
    • N
      iscsi-target: Avoid rejecting incorrect ITT for Data-Out · 97c99b47
      Nicholas Bellinger 提交于
      This patch changes iscsit_check_dataout_hdr() to dump the incoming
      Data-Out payload when the received ITT is not associated with a
      WRITE, instead of calling iscsit_reject_cmd() for the non WRITE
      ITT descriptor.
      
      This addresses a bug where an initiator sending an Data-Out for
      an ITT associated with a READ would end up generating a reject
      for the READ, eventually resulting in list corruption.
      Reported-by: NSantosh Kulkarni <santosh.kulkarni@calsoftinc.com>
      Reported-by: NArshad Hussain <arshad.hussain@calsoftinc.com>
      Cc: stable@vger.kernel.org # 3.10+
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      97c99b47
    • G
      lz4: fix another possible overrun · 4148c1f6
      Greg Kroah-Hartman 提交于
      There is one other possible overrun in the lz4 code as implemented by
      Linux at this point in time (which differs from the upstream lz4
      codebase, but will get synced at in a future kernel release.)  As
      pointed out by Don, we also need to check the overflow in the data
      itself.
      
      While we are at it, replace the odd error return value with just a
      "simple" -1 value as the return value is never used for anything other
      than a basic "did this work or not" check.
      Reported-by: N"Don A. Bailey" <donb@securitymouse.com>
      Reported-by: NWilly Tarreau <w@1wt.eu>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4148c1f6
  5. 27 6月, 2014 10 次提交