1. 29 4月, 2018 3 次提交
    • L
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 6e041ffc
      Linus Torvalds 提交于
      Pull crypto fixes from Herbert Xu:
      
       - crypto API regression that may cause sporadic alloc failures
      
       - double-free bug in drbg
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: drbg - set freed buffers to NULL
        crypto: api - fix finding algorithm currently being tested
      6e041ffc
    • L
      Merge tag '4.17-rc2-smb3' of git://git.samba.org/sfrench/cifs-2.6 · cac26428
      Linus Torvalds 提交于
      Pull cifs fixes from Steve French:
       "A few security related fixes for SMB3, most importantly for SMB3.11
        encryption"
      
      * tag '4.17-rc2-smb3' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: smbd: Avoid allocating iov on the stack
        cifs: smbd: Don't use RDMA read/write when signing is used
        SMB311: Fix reconnect
        SMB3: Fix 3.11 encryption to Windows and handle encrypted smb3 tcon
        CIFS: set *resp_buf_type to NO_BUFFER on error
      cac26428
    • L
      Merge tag 'powerpc-4.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 0d95cfa9
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
       "A bunch of fixes, mostly for existing code and going to stable.
      
        Our memory hot-unplug path wasn't flushing the cache before removing
        memory. That is a problem now that we are doing memory hotplug on bare
        metal.
      
        Three fixes for the NPU code that supports devices connected via
        NVLink (ie. GPUs). The main one tweaks the TLB flush algorithm to
        avoid soft lockups for large flushes.
      
        A fix for our memory error handling where we would loop infinitely,
        returning back to the bad access and hard lockup the CPU.
      
        Fixes for the OPAL RTC driver, which wasn't handling some error cases
        correctly.
      
        A fix for a hardlockup in the powernv cpufreq driver.
      
        And finally two fixes to our smp_send_stop(), required due to a recent
        change to use it on shutdown.
      
        Thanks to: Alistair Popple, Balbir Singh, Laurentiu Tudor, Mahesh
        Salgaonkar, Mark Hairgrove, Nicholas Piggin, Rashmica Gupta, Shilpasri
        G Bhat"
      
      * tag 'powerpc-4.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/kvm/booke: Fix altivec related build break
        powerpc: Fix deadlock with multiple calls to smp_send_stop
        cpufreq: powernv: Fix hardlockup due to synchronous smp_call in timer interrupt
        powerpc: Fix smp_send_stop NMI IPI handling
        rtc: opal: Fix OPAL RTC driver OPAL_BUSY loops
        powerpc/mce: Fix a bug where mce loops on memory UE.
        powerpc/powernv/npu: Do a PID GPU TLB flush when invalidating a large address range
        powerpc/powernv/npu: Prevent overwriting of pnv_npu2_init_contex() callback parameters
        powerpc/powernv/npu: Add lock to prevent race in concurrent context init/destroy
        powerpc/powernv/memtrace: Let the arch hotunplug code flush cache
        powerpc/mm: Flush cache on memory hot(un)plug
      0d95cfa9
  2. 28 4月, 2018 14 次提交
    • L
      rMerge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 46dc111d
      Linus Torvalds 提交于
      Pull KVM fixes from Radim Krčmář:
       "ARM:
         - PSCI selection API, a leftover from 4.16 (for stable)
         - Kick vcpu on active interrupt affinity change
         - Plug a VMID allocation race on oversubscribed systems
         - Silence debug messages
         - Update Christoffer's email address (linaro -> arm)
      
        x86:
         - Expose userspace-relevant bits of a newly added feature
         - Fix TLB flushing on VMX with VPID, but without EPT"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        x86/headers/UAPI: Move DISABLE_EXITS KVM capability bits to the UAPI
        kvm: apic: Flush TLB after APIC mode/address change if VPIDs are in use
        arm/arm64: KVM: Add PSCI version selection API
        KVM: arm/arm64: vgic: Kick new VCPU on interrupt migration
        arm64: KVM: Demote SVE and LORegion warnings to debug only
        MAINTAINERS: Update e-mail address for Christoffer Dall
        KVM: arm/arm64: Close VMID generation race
      46dc111d
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 19b522db
      Linus Torvalds 提交于
      Pull arm64 fixes from Will Deacon:
       "Nothing too bad, but the spectre updates to smatch identified a few
        places that may need sanitising so we've got those covered.
      
        Details:
      
         - Close some potential spectre-v1 vulnerabilities found by smatch
      
         - Add missing list sentinel for CPUs that don't require KPTI
      
         - Removal of unused 'addr' parameter for I/D cache coherency
      
         - Removal of redundant set_fs(KERNEL_DS) calls in ptrace
      
         - Fix single-stepping state machine handling in response to kernel
           traps
      
         - Clang support for 128-bit integers
      
         - Avoid instrumenting our out-of-line atomics in preparation for
           enabling LSE atomics by default in 4.18"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: avoid instrumenting atomic_ll_sc.o
        KVM: arm/arm64: vgic: fix possible spectre-v1 in vgic_mmio_read_apr()
        KVM: arm/arm64: vgic: fix possible spectre-v1 in vgic_get_irq()
        arm64: fix possible spectre-v1 in ptrace_hbp_get_event()
        arm64: support __int128 with clang
        arm64: only advance singlestep for user instruction traps
        arm64/kernel: rename module_emit_adrp_veneer->module_emit_veneer_for_adrp
        arm64: ptrace: remove addr_limit manipulation
        arm64: mm: drop addr parameter from sync icache and dcache
        arm64: add sentinel to kpti_safe_list
      19b522db
    • L
      Merge tag 'modules-for-v4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 7b87308e
      Linus Torvalds 提交于
      Pull modules fix from Jessica Yu:
       "Fix display of module section addresses in sysfs, which were getting
        hashed with %pK and breaking tools like perf"
      
      * tag 'modules-for-v4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: Fix display of wrong module .text address
      7b87308e
    • L
      Merge tag 'ceph-for-4.17-rc3' of git://github.com/ceph/ceph-client · 64ebe312
      Linus Torvalds 提交于
      Pull ceph fixes from Ilya Dryomov:
       "A CephFS quota follow-up and fixes for two older issues in the
        messenger layer, marked for stable"
      
      * tag 'ceph-for-4.17-rc3' of git://github.com/ceph/ceph-client:
        libceph: validate con->state at the top of try_write()
        libceph: reschedule a tick in finish_hunting()
        libceph: un-backoff on tick when we have a authenticated session
        ceph: check if mds create snaprealm when setting quota
      64ebe312
    • L
      Merge tag 'char-misc-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · d8a33273
      Linus Torvalds 提交于
      Pull char/misc driver fixes from Greg KH:
       "Here are some small char and misc driver fixes for 4.17-rc3
      
        A variety of small things that have fallen out after 4.17-rc1 was out.
        Some vboxguest fixes for systems with lots of memory, amba bus fixes,
        some MAINTAINERS updates, uio_hv_generic driver fixes, and a few other
        minor things that resolve problems that people reported.
      
        The amba bus fixes took twice to get right, the first time I messed up
        applying the patches in the wrong order, hence the revert and later
        addition again with the correct fix, sorry about that.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'char-misc-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        ARM: amba: Fix race condition with driver_override
        ARM: amba: Make driver_override output consistent with other buses
        Revert "ARM: amba: Fix race condition with driver_override"
        ARM: amba: Don't read past the end of sysfs "driver_override" buffer
        ARM: amba: Fix race condition with driver_override
        virt: vbox: Log an error when we fail to get the host version
        virt: vbox: Use __get_free_pages instead of kmalloc for DMA32 memory
        virt: vbox: Add vbg_req_free() helper function
        virt: vbox: Move declarations of vboxguest private functions to private header
        slimbus: Fix out-of-bounds access in slim_slicesize()
        MAINTAINERS: add dri-devel&linaro-mm for Android ION
        fpga-manager: altera-ps-spi: preserve nCONFIG state
        MAINTAINERS: update my email address
        uio_hv_generic: fix subchannel ring mmap
        uio_hv_generic: use correct channel in isr
        uio_hv_generic: make ring buffer attribute for primary channel
        uio_hv_generic: set size of ring buffer attribute
        ANDROID: binder: prevent transactions into own process.
      d8a33273
    • L
      Merge tag 'driver-core-4.17-rc3' of... · ee3748be
      Linus Torvalds 提交于
      Merge tag 'driver-core-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fixes from Greg Kroah-Hartman:
       "Here are some small driver core and firmware fixes for 4.17-rc3
      
        There's a kobject WARN() removal to make syzkaller a lot happier about
        some "normal" error paths that it keeps hitting, which should reduce
        the number of false-positives we have been getting recently.
      
        There's also some fimware test and documentation fixes, and the
        coredump() function signature change that needed to happen after -rc1
        before drivers started to take advantage of it.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'driver-core-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        firmware: some documentation fixes
        selftests:firmware: fixes a call to a wrong function name
        kobject: don't use WARN for registration failures
        firmware: Fix firmware documentation for recent file renames
        test_firmware: fix setting old custom fw path back on exit, second try
        test_firmware: Install all scripts
        drivers: change struct device_driver::coredump() return type to void
      ee3748be
    • L
      Merge tag 'tty-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · b52c85a7
      Linus Torvalds 提交于
      Pull tty/serial fixes from Greg KH:
       "Here are some tty and serial driver fixes for reported issues for
        4.17-rc3.
      
        Nothing major, but a number of small things:
      
         - device tree fixes/updates for serial ports
      
         - earlycon fixes
      
         - n_gsm fixes
      
         - tty core change reverted to help resolve syszkaller reports
      
         - other serial driver small fixes
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'tty-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: Use __GFP_NOFAIL for tty_ldisc_get()
        tty: serial: xuartps: Setup early console when uartclk is also passed
        tty: Don't call panic() at tty_ldisc_init()
        tty: Avoid possible error pointer dereference at tty_ldisc_restore().
        dt-bindings: mvebu-uart: DT fix s/interrupts-names/interrupt-names/
        tty: serial: qcom_geni_serial: Use signed variable to get IRQ
        earlycon: Use a pointer table to fix __earlycon_table stride
        serial: sh-sci: Document r8a77470 bindings
        dt-bindings: meson-uart: DT fix s/clocks-names/clock-names/
        serial: imx: fix cached UCR2 read on software reset
        serial: imx: warn user when using unsupported configuration
        serial: mvebu-uart: Fix local flags handling on termios update
        tty: n_gsm: Fix DLCI handling for ADM mode if debug & 2 is not set
        tty: n_gsm: Fix long delays with control frame timeouts in ADM mode
      b52c85a7
    • K
      x86/headers/UAPI: Move DISABLE_EXITS KVM capability bits to the UAPI · 5e62493f
      KarimAllah Ahmed 提交于
      Move DISABLE_EXITS KVM capability bits to the UAPI just like the rest of
      capabilities.
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Radim Krčmář <rkrcmar@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: x86@kernel.org
      Cc: kvm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NKarimAllah Ahmed <karahmed@amazon.de>
      Signed-off-by: NRadim Krčmář <rkrcmar@redhat.com>
      5e62493f
    • L
      Merge tag 'staging-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 79a17dd9
      Linus Torvalds 提交于
      Pull staging fixes from Greg KH:
       "Here are two staging driver fixups for 4.17-rc3.
      
        The first is the remaining stragglers of the irda code removal that
        you pointed out during the merge window. The second is a fix for the
        wilc1000 driver due to a patch that got merged in 4.17-rc1.
      
        Both of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: wilc1000: fix NULL pointer exception in host_int_parse_assoc_resp_info()
        staging: irda: remove remaining remants of irda code removal
      79a17dd9
    • L
      Merge tag 'usb-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 1993cbf0
      Linus Torvalds 提交于
      Pull USB fixes from Greg KH:
       "Here are a number of USB driver fixes for reported problems for
        4.17-rc3.
      
        The "largest" here is a number of phy core changes for reported
        problems with the -rc1 release. There's also the usual musb and xhci
        fixes, as well as new device id updates. There are also some usbip
        fixes for reported problems as more people start to use that code with
        containers.
      
        All of these have been in linux-next with no reported issues, except
        the last few new device ids, which are "obviously correct" :)"
      
      * tag 'usb-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (26 commits)
        USB: musb: dsps: drop duplicate phy initialisation
        USB: musb: host: prevent core phy initialisation
        usb: core: phy: add the SPDX-License-Identifier and include guard
        xhci: Fix Kernel oops in xhci dbgtty
        usb: select USB_COMMON for usb role switch config
        usb: core: phy: add missing forward declaration for "struct device"
        usb: core: phy: make it a no-op if CONFIG_GENERIC_PHY is disabled
        usb: core: use phy_exit during suspend if wake up is not supported
        usb: core: split usb_phy_roothub_{init,alloc}
        usb: core: phy: fix return value of usb_phy_roothub_exit()
        usb: typec: ucsi: Increase command completion timeout value
        Revert "xhci: plat: Register shutdown for xhci_plat"
        usb: core: Add quirk for HP v222w 16GB Mini
        Documentation: typec.rst: Use literal-block element with ascii art
        usb: typec: ucsi: fix tracepoint related build error
        usbip: usbip_event: fix to not print kernel pointer address
        usbip: usbip_host: fix to hold parent lock for device_attach() calls
        usbip: vhci_hcd: Fix usb device and sockfd leaks
        usbip: vhci_hcd: check rhport before using in vhci_hub_control()
        USB: Increment wakeup count on remote wakeup.
        ...
      1993cbf0
    • L
      Merge tag 'sound-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 7ff50002
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "A significant amount of fixes have been piled up at this time.
      
         - Possible Spectre v1 coverage in OSS sequencer API, control API,
           HD-audio hwdep ioctl, ASIHPI hwdep ioctl, OPL3, and HDSPM/RME
           channel_info API.
      
         - A regression fix in PCM delay reporting that happened at the code
           refactoring for the set_fs() removal
      
         - The long-standing bug in PCM sync_ptr ioctl that missed the audio
           timestamp field
      
         - USB-audio regression fixes due to the recent UAC2 jack support
      
         - vm_fault_t conversions in a couple of places
      
         - ASoC topology API fixes
      
         - Assorted driver fixes:
            * ASoC rsnd, FSL, Intel SST, DMIC, AMD, ADAU17x1, Realtek codec
            * FireWire typo fix
            * HD-audio quirks and USB-audio Dell fixup
            * USB-audio UAC3 corrections"
      
      * tag 'sound-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (35 commits)
        ALSA: dice: fix error path to destroy initialized stream data
        ALSA: hda - Skip jack and others for non-existing PCM streams
        ALSA: hda/realtek - change the location for one of two front mics
        ALSA: rme9652: Hardening for potential Spectre v1
        ALSA: hdspm: Hardening for potential Spectre v1
        ALSA: asihpi: Hardening for potential Spectre v1
        ALSA: opl3: Hardening for potential Spectre v1
        ALSA: hda: Hardening for potential Spectre v1
        ALSA: control: Hardening for potential Spectre v1
        ALSA: seq: oss: Hardening for potential Spectre v1
        ALSA: seq: oss: Fix unbalanced use lock for synth MIDI device
        ALSA: hda/realtek - Update ALC255 depop optimize
        ALSA: hda/realtek - Add some fixes for ALC233
        ALSA: pcm: Change return type to vm_fault_t
        ALSA: usx2y: Change return type to vm_fault_t
        ALSA: usb-audio: ADC3: Fix channel mapping conversion for ADC3.
        ALSA: dice: fix OUI for TC group
        ALSA: usb-audio: Skip broken EU on Dell dock USB-audio
        ALSA: usb-audio: Fix missing endian conversion
        ALSA: usb-audio: Fix forgotten conversion of control query functions
        ...
      7ff50002
    • L
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · ee7141c9
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Arnd Bergmann:
       "This round of fixes has two larger changes that came in last week:
      
         - a couple of patches all intended to finally turn on USB support on
           various Amlogic SoC based boards. The respective driver were not
           finalized until very late before the merge window and the DT
           portion is the last bit now.
      
         - a defconfig update for gemini that had repeatedly missed the cut
           but that is required to actually boot any real machines with the
           default build.
      
        The rest are the usual small changes:
      
         - a fix for a nasty build regression on the OMAP memory drivers
      
         - a fix for a boot problem on Intel/Altera SocFPGA
      
         - a MAINTAINER file update
      
         - a couple of fixes for issues found by automated testing (kernelci,
           coverity, sparse, ...)
      
         - a few incorrect DT entries are updated to match the hardware"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: defconfig: Update Gemini defconfig
        ARM: s3c24xx: jive: Fix some GPIO names
        HISI LPC: Add Kconfig MFD_CORE dependency
        ARM: dts: Fix NAS4220B pin config
        MAINTAINERS: Remove myself as maintainer
        arm64: dts: correct SATA addresses for Stingray
        ARM64: dts: meson-gxm-khadas-vim2: enable the USB controller
        ARM64: dts: meson-gxl-nexbox-a95x: enable the USB controller
        ARM64: dts: meson-gxl-s905x-libretech-cc: enable the USB controller
        ARM64: dts: meson-gx-p23x-q20x: enable the USB controller
        ARM64: dts: meson-gxl-s905x-p212: enable the USB controller
        ARM64: dts: meson-gxm: add GXM specific USB host configuration
        ARM64: dts: meson-gxl: add USB host support
        ARM: OMAP2+: Fix build when using split object directories
        soc: bcm2835: Make !RASPBERRYPI_FIRMWARE dummies return failure
        soc: bcm: raspberrypi-power: Fix use of __packed
        ARM: dts: Fix cm2 and prm sizes for omap4
        ARM: socfpga_defconfig: Remove QSPI Sector 4K size force
        firmware: arm_scmi: remove redundant null check on array
        arm64: dts: juno: drop unnecessary address-cells and size-cells properties
      ee7141c9
    • L
      Merge tag 'mtd/fixes-for-4.17-rc3' of git://git.infradead.org/linux-mtd · 245131e2
      Linus Torvalds 提交于
      Pull mtd fixes from Boris Brezillon:
      
       - Fix nanddev_mtd_erase() function to match the changes done in
         e7bfb3fd ("mtd: Stop updating erase_info->state and calling
         mtd_erase_callback()")
      
       - Fix a memory leak in the Tango NAND controller driver
      
       - Fix read/write to a suspended erase block in the CFI driver
      
       - Fix the DT parsing logic in the Marvell NAND controller driver
      
      * tag 'mtd/fixes-for-4.17-rc3' of git://git.infradead.org/linux-mtd:
        mtd: rawnand: marvell: fix the chip-select DT parsing logic
        mtd: cfi: cmdset_0002: Do not allow read/write to suspend erase block.
        mtd: cfi: cmdset_0001: Workaround Micron Erase suspend bug.
        mtd: cfi: cmdset_0001: Do not allow read/write to suspend erase block.
        mtd: spi-nor: cadence-quadspi: Fix page fault kernel panic
        mtd: nand: Fix nanddev_mtd_erase()
        mtd: rawnand: tango: Fix struct clk memory leak
      245131e2
    • L
      Merge tag 'drm-fixes-for-v4.17-rc3' of git://people.freedesktop.org/~airlied/linux · 0f940fac
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Pretty run of the mill for this stage in the cycle: msm, i915, amdgpu,
        qxl, virtio-gpu, sun4i fixes.
      
        i915:
         - Black screen fixes
         - Display w/a fix
         - HDA codec interop fix
      
        sun4i:
         - tbsa711 tablet regression fix
      
        qxl:
         - Regression fixes due to changes in TTM
      
        virtio:
         - Fix wait event condition
      
        msm:
         - DSI display fixes
      
        amdgpu:
         - fix hang on Carrizo
         - DP MST hang fixes
         - irq handling deadlock in DC.
      
        amdkfd:
         - Fix Kconfig issue
         - Clock retrieval fix
         - Sparse fixes"
      
      * tag 'drm-fixes-for-v4.17-rc3' of git://people.freedesktop.org/~airlied/linux: (27 commits)
        drm/edid: Reset more of the display info
        drm/virtio: fix vq wait_event condition
        qxl: keep separate release_bo pointer
        qxl: fix qxl_release_{map,unmap}
        Revert "drm/sun4i: add lvds mode_valid function"
        drm/amd/display: Check dc_sink every time in MST hotplug
        drm/amd/display: Update MST edid property every time
        drm/amd/display: Don't read EDID in atomic_check
        drm/amd/display: Disallow enabling CRTC without primary plane with FB
        drm/amd/display: Fix deadlock when flushing irq
        drm/i915/fbdev: Enable late fbdev initial configuration
        drm/i915: Use ktime on wait_for
        drm/amdgpu: set COMPUTE_PGM_RSRC1 for SGPR/VGPR clearing shaders
        drm/amdkfd: fix build, select MMU_NOTIFIER
        drm/amdkfd: fix clock counter retrieval for node without GPU
        drm/amdkfd: Fix the error return code in kfd_ioctl_unmap_memory_from_gpu()
        drm/amdkfd: kfd_dev_is_large_bar() can be static
        drm/i915: Enable display WA#1183 from its correct spot
        drm/i915/audio: set minimum CD clock to twice the BCLK
        drm/msm: don't deref error pointer in the msm_fbdev_create error path
        ...
      0f940fac
  3. 27 4月, 2018 19 次提交
    • J
      kvm: apic: Flush TLB after APIC mode/address change if VPIDs are in use · a468f2db
      Junaid Shahid 提交于
      Currently, KVM flushes the TLB after a change to the APIC access page
      address or the APIC mode when EPT mode is enabled. However, even in
      shadow paging mode, a TLB flush is needed if VPIDs are being used, as
      specified in the Intel SDM Section 29.4.5.
      
      So replace vmx_flush_tlb_ept_only() with vmx_flush_tlb(), which will
      flush if either EPT or VPIDs are in use.
      Signed-off-by: NJunaid Shahid <junaids@google.com>
      Reviewed-by: NJim Mattson <jmattson@google.com>
      Signed-off-by: NRadim Krčmář <rkrcmar@redhat.com>
      a468f2db
    • M
      arm64: avoid instrumenting atomic_ll_sc.o · 3789c122
      Mark Rutland 提交于
      Our out-of-line atomics are built with a special calling convention,
      preventing pointless stack spilling, and allowing us to patch call sites
      with ARMv8.1 atomic instructions.
      
      Instrumentation inserted by the compiler may result in calls to
      functions not following this special calling convention, resulting in
      registers being unexpectedly clobbered, and various problems resulting
      from this.
      
      For example, if a kernel is built with KCOV and ARM64_LSE_ATOMICS, the
      compiler inserts calls to __sanitizer_cov_trace_pc in the prologues of
      the atomic functions. This has been observed to result in spurious
      cmpxchg failures, leading to a hang early on in the boot process.
      
      This patch avoids such issues by preventing instrumentation of our
      out-of-line atomics.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      3789c122
    • A
      Merge tag 'arm-soc/for-4.17/devicetree-arm64-fixes' of... · 4ea3f056
      Arnd Bergmann 提交于
      Merge tag 'arm-soc/for-4.17/devicetree-arm64-fixes' of https://github.com/Broadcom/stblinux into fixes
      
      Pull "Broadcom devicetree-arm64 fixes for 4.17" from Florian Fainelli:
      
      This pull request contains Broadcom ARM64-based SoCs Device Tree fixes
      for 4.17, please pull the following:
      
      - Srinath fixes the register base address of all SATA controllers on
        Stingray
      
      * tag 'arm-soc/for-4.17/devicetree-arm64-fixes' of https://github.com/Broadcom/stblinux:
        arm64: dts: correct SATA addresses for Stingray
      4ea3f056
    • L
      powerpc/kvm/booke: Fix altivec related build break · b2d7ecbe
      Laurentiu Tudor 提交于
      Add missing "altivec unavailable" interrupt injection helper
      thus fixing the linker error below:
      
        arch/powerpc/kvm/emulate_loadstore.o: In function `kvmppc_check_altivec_disabled':
        arch/powerpc/kvm/emulate_loadstore.c: undefined reference to `.kvmppc_core_queue_vec_unavail'
      
      Fixes: 09f98496 ("KVM: PPC: Book3S: Add MMIO emulation for VMX instructions")
      Signed-off-by: NLaurentiu Tudor <laurentiu.tudor@nxp.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      b2d7ecbe
    • N
      powerpc: Fix deadlock with multiple calls to smp_send_stop · 6029755e
      Nicholas Piggin 提交于
      smp_send_stop can lock up the IPI path for any subsequent calls,
      because the receiving CPUs spin in their handler function. This
      started becoming a problem with the addition of an smp_send_stop
      call in the reboot path, because panics can reboot after doing
      their own smp_send_stop.
      
      The NMI IPI variant was fixed with ac61c115 ("powerpc: Fix
      smp_send_stop NMI IPI handling"), which leaves the smp_call_function
      variant.
      
      This is fixed by having smp_send_stop only ever do the
      smp_call_function once. This is a bit less robust than the NMI IPI
      fix, because any other call to smp_call_function after smp_send_stop
      could deadlock, but that has always been the case, and it was not
      been a problem before.
      
      Fixes: f2748bdf ("powerpc/powernv: Always stop secondaries before reboot/shutdown")
      Reported-by: NAbdul Haleem <abdhalee@linux.vnet.ibm.com>
      Signed-off-by: NNicholas Piggin <npiggin@gmail.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      6029755e
    • S
      cpufreq: powernv: Fix hardlockup due to synchronous smp_call in timer interrupt · c0f7f5b6
      Shilpasri G Bhat 提交于
      gpstate_timer_handler() uses synchronous smp_call to set the pstate
      on the requested core. This causes the below hard lockup:
      
        smp_call_function_single+0x110/0x180 (unreliable)
        smp_call_function_any+0x180/0x250
        gpstate_timer_handler+0x1e8/0x580
        call_timer_fn+0x50/0x1c0
        expire_timers+0x138/0x1f0
        run_timer_softirq+0x1e8/0x270
        __do_softirq+0x158/0x3e4
        irq_exit+0xe8/0x120
        timer_interrupt+0x9c/0xe0
        decrementer_common+0x114/0x120
        -- interrupt: 901 at doorbell_global_ipi+0x34/0x50
        LR = arch_send_call_function_ipi_mask+0x120/0x130
        arch_send_call_function_ipi_mask+0x4c/0x130
        smp_call_function_many+0x340/0x450
        pmdp_invalidate+0x98/0xe0
        change_huge_pmd+0xe0/0x270
        change_protection_range+0xb88/0xe40
        mprotect_fixup+0x140/0x340
        SyS_mprotect+0x1b4/0x350
        system_call+0x58/0x6c
      
      One way to avoid this is removing the smp-call. We can ensure that the
      timer always runs on one of the policy-cpus. If the timer gets
      migrated to a cpu outside the policy then re-queue it back on the
      policy->cpus. This way we can get rid of the smp-call which was being
      used to set the pstate on the policy->cpus.
      
      Fixes: 7bc54b65 ("timers, cpufreq/powernv: Initialize the gpstate timer as pinned")
      Cc: stable@vger.kernel.org # v4.8+
      Reported-by: NNicholas Piggin <npiggin@gmail.com>
      Reported-by: NPridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com>
      Signed-off-by: NShilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>
      Acked-by: NNicholas Piggin <npiggin@gmail.com>
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Acked-by: NVaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      c0f7f5b6
    • D
      Merge tag 'drm-intel-fixes-2018-04-26' of... · 24d9092c
      Dave Airlie 提交于
      Merge tag 'drm-intel-fixes-2018-04-26' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      - Fix for black screen issues (FDO #104158 and #104425)
      - A correction for wrongly applied display W/A
      - Fixes for HDA codec interop issue (no audio) and too eager HW timeouts
      
      * tag 'drm-intel-fixes-2018-04-26' of git://anongit.freedesktop.org/drm/drm-intel:
        drm/i915/fbdev: Enable late fbdev initial configuration
        drm/i915: Use ktime on wait_for
        drm/i915: Enable display WA#1183 from its correct spot
        drm/i915/audio: set minimum CD clock to twice the BCLK
      24d9092c
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 0644f186
      Linus Torvalds 提交于
      Pull virtio fixups from Michael Tsirkin:
      
       - Latest header update will break QEMU (if it's rebuilt with the new
         header) - and it seems that the code there is so fragile that any
         change in this header will break it. Add a better interface so users
         do not need to change their code every time that header changes.
      
       - Fix virtio console for spec compliance.
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio_console: reset on out of memory
        virtio_console: move removal code
        virtio_console: drop custom control queue cleanup
        virtio_console: free buffers after reset
        virtio: add ability to iterate over vqs
        virtio_console: don't tie bufs to a vq
        virtio_balloon: add array of stat names
      0644f186
    • L
      Merge tag 'hwmon-for-linus-v4.17-rc3' of... · 0871062b
      Linus Torvalds 提交于
      Merge tag 'hwmon-for-linus-v4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - Add support for new Ryzen chips to k10temp driver
         ... making Phoronix happy
      
       - Fix inconsistent chip access in nct6683 driver
      
       - Handle absence of few types of sensors in scmi driver
      
      * tag 'hwmon-for-linus-v4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (k10temp) Add support for AMD Ryzen w/ Vega graphics
        hwmon: (k10temp) Add temperature offset for Ryzen 2700X
        hwmon: (nct6683) Enable EC access if disabled at boot
        hwmon: (scmi) handle absence of few types of sensors
      0871062b
    • L
      Merge tag 'pci-v4.17-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 7f5d1573
      Linus Torvalds 提交于
      Pull PCI fixes from Bjorn Helgaas:
      
       - fix Aardvark MRRS setting (Evan Wang)
      
       - clarify "bandwidth available" link status message (Jakub Kicinski)
      
       - update Kirin GPIO name to fix probe failure (Loic Poulain)
      
       - fix Aardvark IRQ usage (Victor Gu)
      
       - fix Aardvark config accessor issues (Victor Gu)
      
      * tag 'pci-v4.17-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Add "PCIe" to pcie_print_link_status() messages
        PCI: kirin: Fix reset gpio name
        PCI: aardvark: Fix PCIe Max Read Request Size setting
        PCI: aardvark: Use ISR1 instead of ISR0 interrupt in legacy irq mode
        PCI: aardvark: Set PIO_ADDR_LS correctly in advk_pcie_rd_conf()
        PCI: aardvark: Fix logic in advk_pcie_{rd,wr}_conf()
      7f5d1573
    • L
      Merge tag 'trace-v4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 47b5ece9
      Linus Torvalds 提交于
      Pull tracing fixes from Steven Rostedt:
      
       - Add workqueue forward declaration (for new work, but a nice clean up)
      
       - seftest fixes for the new histogram code
      
       - Print output fix for hwlat tracer
      
       - Fix missing system call events - due to change in x86 syscall naming
      
       - Fix kprobe address being used by perf being hashed
      
      * tag 'trace-v4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix missing tab for hwlat_detector print format
        selftests: ftrace: Add a testcase for multiple actions on trigger
        selftests: ftrace: Fix trigger extended error testcase
        kprobes: Fix random address output of blacklist file
        tracing: Fix kernel crash while using empty filter with perf
        tracing/x86: Update syscall trace events to handle new prefixed syscall func names
        tracing: Add missing forward declaration
      47b5ece9
    • L
      Merge tag 'acpi-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fe03a759
      Linus Torvalds 提交于
      Pull ACPI fixes from Rafael Wysocki:
       "These are two watchdog-related fixes, fix for a backlight regression
        from the 4.16 cycle that unfortunately was propagated to -stable and a
        button module modification to prevent graphics driver modules from
        failing to load due to unmet dependencies if ACPI is disabled from the
        kernel command line.
      
        Specifics:
      
         - Change the ACPI subsystem initialization ordering to initialize the
           WDAT watchodg before reserving PNP motherboard resources so as to
           allow the watchdog to allocate its resources before the PNP code
           gets to them and prevents it from working correctly (Mika
           Westerberg).
      
         - Add a quirk for Lenovo Z50-70 to use the iTCO watchdog instead of
           the WDAT one which conflicts with the RTC on that platform (Mika
           Westerberg).
      
         - Avoid breaking backlight handling on Dell XPS 13 2013 model by
           allowing laptops to use the ACPI backlight by default even if they
           are Windows 8-ready in principle (Hans de Goede)"
      
      * tag 'acpi-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / video: Only default only_lcd to true on Win8-ready _desktops_
        ACPI / button: make module loadable when booted in non-ACPI mode
        ACPI / watchdog: Prefer iTCO_wdt on Lenovo Z50-70
        ACPI / scan: Initialize watchdog before PNP
      fe03a759
    • L
      Merge tag 'pm-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e58d911f
      Linus Torvalds 提交于
      Pull power management fixes from Rafael Wysocki:
       "These are a Low Power S0 Idle quirk, a hibernation handling fix for
        the PCI bus type and a brcmstb-avs-cpufreq driver fixup removing
        development debug code from it.
      
        Specifics:
      
         - Blacklist the Low Power S0 Idle _DSM on ThinkPad X1 Tablet(2016)
           where it causes issues and make it use ACPI S3 which works instead
           of the non-working suspend-to-idle by default (Chen Yu).
      
         - Fix the handling of hibernation in the PCI core for devices with
           the DPM_FLAG_SMART_SUSPEND flag set to fix a regression affecting
           intel-lpss I2C devices (Mika Westerberg).
      
         - Drop development debug code from the brcmstb-avs-cpufreq driver
           (Markus Mayer)"
      
      * tag 'pm-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: brcmstb-avs-cpufreq: remove development debug support
        PCI / PM: Do not clear state_saved in pci_pm_freeze() when smart suspend is set
        ACPI / PM: Blacklist Low Power S0 Idle _DSM for ThinkPad X1 Tablet(2016)
      e58d911f
    • L
      Merge tag 'random_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random · 665fa000
      Linus Torvalds 提交于
      Pull /dev/random fixes from Ted Ts'o:
       "Fix a regression on NUMA kernels and suppress excess unseeded entropy
        pool warnings"
      
      * tag 'random_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random:
        random: rate limit unseeded randomness warnings
        random: fix possible sleeping allocation from irq context
      665fa000
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 1334ac11
      Linus Torvalds 提交于
      Pull s390 fixes from Martin Schwidefsky:
       "A couple of bug fixes:
      
         - correct some CPU-MF counter names for z13 and z14
      
         - correct locking in the vfio-ccw fsm_io_helper function
      
         - provide arch_uretprobe_is_alive to avoid sigsegv with uretprobes
      
         - fix a corner case with CPU-MF sampling in regard to execve
      
         - fix expoline code revert for loadable modules
      
         - update chpid descriptor for resource accessibility events
      
         - fix dasd I/O errors due to outdated device alias infomation"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390: correct module section names for expoline code revert
        vfio: ccw: process ssch with interrupts disabled
        s390: update sampling tag after task pid change
        s390/cpum_cf: rename IBM z13/z14 counter names
        s390/dasd: fix IO error for newly defined devices
        s390/uprobes: implement arch_uretprobe_is_alive()
        s390/cio: update chpid descriptor after resource accessibility event
      1334ac11
    • G
      Merge tag 'usb-serial-4.17-rc3' of... · 573a0948
      Greg Kroah-Hartman 提交于
      Merge tag 'usb-serial-4.17-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
      
      Johan writes:
      
      USB-serial fixes for v4.17-rc3
      
      Here are a few device ids for -rc3, including a new "simple driver".
      
      All have been in linux-next with no reported issues.
      Signed-off-by: NJohan Hovold <johan@kernel.org>
      573a0948
    • M
      mtd: rawnand: marvell: fix the chip-select DT parsing logic · f6997bec
      Miquel Raynal 提交于
      The block responsible of parsing the DT for the number of chip-select
      lines uses an 'if/else if/else if' block. The content of the second and
      third 'else if' conditions are:
              1/ the actual condition to enter the sub-block and
              2/ the operation to do in this sub-block.
      
              [...]
              else if (condition1_to_enter && action1() == failed)
                      raise_error();
              else if (condition2_to_enter && action2() == failed)
                      raise_error();
              [...]
      
      In case of failure, the sub-block is entered and an error raised.
      Otherwise, in case of success, the code would continue erroneously in
      the next 'else if' statement because it did not failed (and did not
      enter the first 'else if' sub-block).
      
      The first 'else if' refers to legacy bindings while the second 'else if'
      refers to new bindings. The second 'else if', which is entered
      erroneously, checks for the 'reg' property, which, for old bindings,
      does not mean anything because it would not be the number of CS
      available, but the regular register map of almost any DT node. This
      being said, the content of the 'reg' property being the register map
      offset and length, it has '2' values, so the number of CS in this
      situation is assumed to be '2'.
      
      When running nand_scan_ident() with 2 CS, the core will check for an
      array of chips. It will first issue a RESET and then a READ_ID. Of
      course this will trigger two timeouts because there is no chip in front
      of the second CS:
      
      [    1.367460] marvell-nfc f2720000.nand: Timeout on CMDD (NDSR: 0x00000080)
      [    1.474292] marvell-nfc f2720000.nand: Timeout on CMDD (NDSR: 0x00000280)
      
      Indeed, this is harmless and the core will then assume there is only one
      valid CS.
      
      Fix the logic in the whole block by entering each sub-block just on the
      'is legacy' condition, doing the action inside the sub-block. This way,
      when the action succeeds, the whole block is left.
      
      Furthermore, for both the old bindings and the new bindings the same
      logic was applied to retrieve the number of CS lines:
      using of_get_property() to get a size in bytes, converted in the actual
      number of lines by dividing it per sizeof(u32) (4 bytes).
      
      This is fine for the 'reg' property which is a list of the CS IDs but
      not for the 'num-cs' property which is directly the value of the number
      of CS.
      
      Anyway, no existing DT uses another value than 'num-cs = <1>' and no
      other value has ever been supported by the old driver (pxa3xx_nand.c).
      Remove this condition and apply a number of 1 CS anyway, as already
      described in the bindings.
      
      Finally, the 'reg' property of a 'nand' node (with the new bindings)
      gives the IDs of each CS line in use. marvell_nand.c driver first look
      at the number of CS lines that are present in this property.
      
      Better use of_property_count_elems_of_size() than dividing by 4 the size
      of the number of bytes returned by of_get_property().
      
      Fixes: 02f26ecf ("mtd: nand: add reworked Marvell NAND controller driver")
      Cc: stable@vger.kernel.org
      Signed-off-by: NMiquel Raynal <miquel.raynal@bootlin.com>
      Tested-by: NChris Packham <chris.packham@alliedtelesis.co.nz>
      Signed-off-by: NBoris Brezillon <boris.brezillon@bootlin.com>
      f6997bec
    • M
      KVM: arm/arm64: vgic: fix possible spectre-v1 in vgic_mmio_read_apr() · 5e1ca5e2
      Mark Rutland 提交于
      It's possible for userspace to control n. Sanitize n when using it as an
      array index.
      
      Note that while it appears that n must be bound to the interval [0,3]
      due to the way it is extracted from addr, we cannot guarantee that
      compiler transformations (and/or future refactoring) will ensure this is
      the case, and given this is a slow path it's better to always perform
      the masking.
      
      Found by smatch.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Acked-by: NChristoffer Dall <christoffer.dall@arm.com>
      Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
      Cc: kvmarm@lists.cs.columbia.edu
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      5e1ca5e2
    • M
      KVM: arm/arm64: vgic: fix possible spectre-v1 in vgic_get_irq() · 41b87599
      Mark Rutland 提交于
      It's possible for userspace to control intid. Sanitize intid when using
      it as an array index.
      
      At the same time, sort the includes when adding <linux/nospec.h>.
      
      Found by smatch.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Acked-by: NChristoffer Dall <christoffer.dall@arm.com>
      Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
      Cc: kvmarm@lists.cs.columbia.edu
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      41b87599
  4. 26 4月, 2018 4 次提交
    • M
      arm64: fix possible spectre-v1 in ptrace_hbp_get_event() · 19791a7c
      Mark Rutland 提交于
      It's possible for userspace to control idx. Sanitize idx when using it
      as an array index.
      
      Found by smatch.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      19791a7c
    • I
      libceph: validate con->state at the top of try_write() · 9c55ad1c
      Ilya Dryomov 提交于
      ceph_con_workfn() validates con->state before calling try_read() and
      then try_write().  However, try_read() temporarily releases con->mutex,
      notably in process_message() and ceph_con_in_msg_alloc(), opening the
      window for ceph_con_close() to sneak in, close the connection and
      release con->sock.  When try_write() is called on the assumption that
      con->state is still valid (i.e. not STANDBY or CLOSED), a NULL sock
      gets passed to the networking stack:
      
        BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
        IP: selinux_socket_sendmsg+0x5/0x20
      
      Make sure con->state is valid at the top of try_write() and add an
      explicit BUG_ON for this, similar to try_read().
      
      Cc: stable@vger.kernel.org
      Link: https://tracker.ceph.com/issues/23706Signed-off-by: NIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: NJason Dillaman <dillaman@redhat.com>
      9c55ad1c
    • L
      ARM: defconfig: Update Gemini defconfig · c12d7e9f
      Linus Walleij 提交于
      This updates the Gemini defconfig with a config that will bring
      up most of the recently merged and updated devices to some
      functional level:
      
      - We enable high resolution timers (the right thing to do)
      - Enable CMA for the framebuffer, and the new TVE200
        framebuffer driver and the Ilitek ILI9322 driver for
        graphics on the D-Link DIR-685. HIGHMEM support comes in
        as part of this.
      - Enable networking and the new Cortina Gemini ethernet
        driver.
      - Enable MDIO over GPIO and the Realtek PHY devices used on
        several of these systems.
      - Enable I2C over GPIO and SPI over GPIO which is used on
        several of these devices.
      - Enable the Thermal framework, GPIO fan control and LM75 sensor
        adding cooling on the D-Link DNS-313 with no userspace
        involved even if only the kernel is working, rock solid
        thermal for this platform.
      - Enable JEDEC flash probing to support the Eon flash chip in
        D-Link DNS-313.
      - Enable LED disk triggers for the NAS type devices.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      c12d7e9f
    • L
      ARM: s3c24xx: jive: Fix some GPIO names · ef740508
      Linus Walleij 提交于
      One of the bitbanged SPI hosts had wrongly named GPIO lines due to
      sloppiness by yours truly.
      
      Cc: arm@kernel.org
      Cc: Mark Brown <broonie@kernel.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      ef740508