1. 23 9月, 2017 22 次提交
    • L
      Merge tag 'acpi-4.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c65da8e2
      Linus Torvalds 提交于
      Pull ACPI fixes from Rafael Wysocki:
       "These fix the initialization of resources in the ACPI WDAT watchdog
        driver, a recent regression in the ACPI device properties handling, a
        recent change in behavior causing the ACPI_HANDLE() macro to only work
        for GPL code and create a MAINTAINERS entry for ACPI PMIC drivers in
        order to specify the official reviewers for that code.
      
        Specifics:
      
         - Fix the initialization of resources in the ACPI WDAT watchdog
           driver that uses unititialized memory which causes compiler
           warnings to be triggered (Arnd Bergmann).
      
         - Fix a recent regression in the ACPI device properties handling that
           causes some device properties data to be skipped during enumeration
           (Sakari Ailus).
      
         - Fix a recent change in behavior that caused the ACPI_HANDLE() macro
           to stop working for non-GPL code which is a problem for the NVidia
           binary graphics driver, for example (John Hubbard).
      
         - Add a MAINTAINERS entry for the ACPI PMIC drivers to specify the
           official reviewers for that code (Rafael Wysocki)"
      
      * tag 'acpi-4.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: properties: Return _DSD hierarchical extension (data) sub-nodes correctly
        ACPI / bus: Make ACPI_HANDLE() work for non-GPL code again
        ACPI / watchdog: properly initialize resources
        ACPI / PMIC: Add code reviewers to MAINTAINERS
      c65da8e2
    • L
      Merge tag 'pm-4.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6876eb37
      Linus Torvalds 提交于
      Pull power management fixes from Rafael Wysocki:
       "These fix a cpufreq regression introduced by recent changes related to
        the generic DT driver, an initialization time memory leak in cpuidle
        on ARM, a PM core bug that may cause system suspend/resume to fail on
        some systems, a request type validation issue in the PM QoS framework
        and two documentation-related issues.
      
        Specifics:
      
         - Fix a regression in cpufreq on systems using DT as the source of
           CPU configuration information where two different code paths
           attempt to create the cpufreq-dt device object (there can be only
           one) and fix up the "compatible" matching for some TI platforms on
           top of that (Viresh Kumar, Dave Gerlach).
      
         - Fix an initialization time memory leak in cpuidle on ARM which
           occurs if the cpuidle driver initialization fails (Stefan Wahren).
      
         - Fix a PM core function that checks whether or not there are any
           system suspend/resume callbacks for a device, but forgets to check
           legacy callbacks which then may be skipped incorrectly and the
           system may crash and/or the device may become unusable after a
           suspend-resume cycle (Rafael Wysocki).
      
         - Fix request type validation for latency tolerance PM QoS requests
           which may lead to unexpected behavior (Jan Schönherr).
      
         - Fix a broken link to PM documentation from a header file and a typo
           in a PM document (Geert Uytterhoeven, Rafael Wysocki)"
      
      * tag 'pm-4.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: ti-cpufreq: Support additional am43xx platforms
        ARM: cpuidle: Avoid memleak if init fail
        cpufreq: dt-platdev: Add some missing platforms to the blacklist
        PM: core: Fix device_pm_check_callbacks()
        PM: docs: Drop an excess character from devices.rst
        PM / QoS: Use the correct variable to check the QoS request type
        driver core: Fix link to device power management documentation
      6876eb37
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · d32e5f44
      Linus Torvalds 提交于
      Pull input fixes from Dmitry Torokhov:
      
       - fixes for two long standing issues (lock up and a crash) in force
         feedback handling in uinput driver
      
       - tweak to firmware update timing in Elan I2C touchpad driver.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: elan_i2c - extend Flash-Write delay
        Input: uinput - avoid crash when sending FF request to device going away
        Input: uinput - avoid FF flush when destroying device
      d32e5f44
    • L
      Merge tag 'seccomp-v4.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · c0a3a64e
      Linus Torvalds 提交于
      Pull seccomp updates from Kees Cook:
       "Major additions:
      
         - sysctl and seccomp operation to discover available actions
           (tyhicks)
      
         - new per-filter configurable logging infrastructure and sysctl
           (tyhicks)
      
         - SECCOMP_RET_LOG to log allowed syscalls (tyhicks)
      
         - SECCOMP_RET_KILL_PROCESS as the new strictest possible action
      
         - self-tests for new behaviors"
      
      [ This is the seccomp part of the security pull request during the merge
        window that was nixed due to unrelated problems   - Linus ]
      
      * tag 'seccomp-v4.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        samples: Unrename SECCOMP_RET_KILL
        selftests/seccomp: Test thread vs process killing
        seccomp: Implement SECCOMP_RET_KILL_PROCESS action
        seccomp: Introduce SECCOMP_RET_KILL_PROCESS
        seccomp: Rename SECCOMP_RET_KILL to SECCOMP_RET_KILL_THREAD
        seccomp: Action to log before allowing
        seccomp: Filter flag to log all actions except SECCOMP_RET_ALLOW
        seccomp: Selftest for detection of filter flag support
        seccomp: Sysctl to configure actions that are allowed to be logged
        seccomp: Operation for checking if an action is available
        seccomp: Sysctl to display available actions
        seccomp: Provide matching filter for introspection
        selftests/seccomp: Refactor RET_ERRNO tests
        selftests/seccomp: Add simple seccomp overhead benchmark
        selftests/seccomp: Add tests for basic ptrace actions
      c0a3a64e
    • L
      Merge tag '4.14-smb3-fixes-from-recent-test-events-for-stable' of... · 69c902f5
      Linus Torvalds 提交于
      Merge tag '4.14-smb3-fixes-from-recent-test-events-for-stable' of git://git.samba.org/sfrench/cifs-2.6
      
      Pull cifs fixes from Steve French:
       "Various SMB3 fixes for stable and security improvements from the
        recently completed SMB3/Samba test events
      
      * tag '4.14-smb3-fixes-from-recent-test-events-for-stable' of git://git.samba.org/sfrench/cifs-2.6:
        SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags
        SMB3: handle new statx fields
        SMB: Validate negotiate (to protect against downgrade) even if signing off
        cifs: release auth_key.response for reconnect.
        cifs: release cifs root_cred after exit_cifs
        CIFS: make arrays static const, reduces object code size
        [SMB3] Update session and share information displayed for debugging SMB2/SMB3
        cifs: show 'soft' in the mount options for hard mounts
        SMB3: Warn user if trying to sign connection that authenticated as guest
        SMB3: Fix endian warning
        Fix SMB3.1.1 guest authentication to Samba
      69c902f5
    • L
      Merge tag 'ceph-for-4.14-rc2' of git://github.com/ceph/ceph-client · b03fcfae
      Linus Torvalds 提交于
      Pull ceph fixes from Ilya Dryomov:
       "Two small but important fixes: RADOS semantic change in upcoming v12.2.1
        release and a rare NULL dereference in create_session_open_msg()"
      
      * tag 'ceph-for-4.14-rc2' of git://github.com/ceph/ceph-client:
        ceph: avoid panic in create_session_open_msg() if utsname() returns NULL
        libceph: don't allow bidirectional swap of pg-upmap-items
      b03fcfae
    • S
      SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags · 1013e760
      Steve French 提交于
      Signed-off-by: NSteve French <smfrench@gmail.com>
      CC: Stable <stable@vger.kernel.org>
      Reviewed-by: NRonnie Sahlberg <lsahlber@redhat.com>
      Reviewed-by: NPavel Shilovsky <pshilov@microsoft.com>
      1013e760
    • L
      Merge tag 'pci-v4.14-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · e2577d22
      Linus Torvalds 提交于
      Pull PCI fixes from Bjorn Helgaas:
      
       - fix endpoint "end of test" interrupt issue (introduced in v4.14-rc1)
         (John Keeping)
      
       - fix MIPS use-after-free map_irq() issue (introduced in v4.14-rc1)
         (Lorenzo Pieralisi)
      
      * tag 'pci-v4.14-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: endpoint: Use correct "end of test" interrupt
        MIPS: PCI: Move map_irq() hooks out of initdata
      e2577d22
    • L
      Merge tag 'iommu-fixes-v4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 9ae0b37e
      Linus Torvalds 提交于
      Pull IOMMU fixes from Joerg Roedel:
      
       - two Kconfig fixes to fix dependencies that cause compile failures
         when they are not fulfilled.
      
       - a section mismatch fix for Intel VT-d
      
       - a fix for PCI topology detection in ARM device-tree code
      
      * tag 'iommu-fixes-v4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/of: Remove PCI host bridge node check
        iommu/qcom: Depend on HAS_DMA to fix compile error
        iommu/vt-d: Fix harmless section mismatch warning
        iommu: Add missing dependencies
      9ae0b37e
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · d21b8ea7
      Linus Torvalds 提交于
      Pull arch/tile fixes from Chris Metcalf:
       "These are a code cleanup and config cleanup, respectively"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        tile: array underflow in setup_maxnodemem()
        tile: defconfig: Cleanup from old Kconfig options
      d21b8ea7
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 4d9af767
      Linus Torvalds 提交于
      Pull arm64 fixes from Catalin Marinas:
      
       - #ifdef CONFIG_EFI around __efi_fpsimd_begin/end
      
       - Assembly code alignment reduced to 4 bytes from 16
      
       - Ensure the kernel is compiled for LP64 (there are some arm64
         compilers around defaulting to ILP32)
      
       - Fix arm_pmu_acpi memory leak on the error path
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        drivers/perf: arm_pmu_acpi: Release memory obtained by kasprintf
        arm64: ensure the kernel is compiled for LP64
        arm64: relax assembly code alignment from 16 byte to 4 byte
        arm64: efi: Don't include EFI fpsimd save/restore code in non-EFI kernels
      4d9af767
    • S
      SMB3: handle new statx fields · 6e70e26d
      Steve French 提交于
      We weren't returning the creation time or the two easily supported
      attributes (ENCRYPTED or COMPRESSED) for the getattr call to
      allow statx to return these fields.
      Signed-off-by: NSteve French <smfrench@gmail.com>
      Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>\
      Acked-by: NJeff Layton <jlayton@poochiereds.net>
      CC: Stable <stable@vger.kernel.org>
      Reviewed-by: NPavel Shilovsky <pshilov@microsoft.com>
      6e70e26d
    • T
      arch: remove unused *_segments() macros/functions · c17c0204
      Tobias Klauser 提交于
      Some architectures define the no-op macros/functions copy_segments,
      release_segments and forget_segments. These are used nowhere in the
      tree, so removed them.
      Signed-off-by: NTobias Klauser <tklauser@distanz.ch>
      Acked-by: Vineet Gupta <vgupta@synopsys.com>   [for arch/arc]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c17c0204
    • R
      Merge branches 'acpi-pmic', 'acpi-bus', 'acpi-wdat' and 'acpi-properties' · 672d0e45
      Rafael J. Wysocki 提交于
      * acpi-pmic:
        ACPI / PMIC: Add code reviewers to MAINTAINERS
      
      * acpi-bus:
        ACPI / bus: Make ACPI_HANDLE() work for non-GPL code again
      
      * acpi-wdat:
        ACPI / watchdog: properly initialize resources
      
      * acpi-properties:
        ACPI: properties: Return _DSD hierarchical extension (data) sub-nodes correctly
      672d0e45
    • R
      Merge branches 'pm-cpufreq' and 'pm-cpuidle' · d84c97f8
      Rafael J. Wysocki 提交于
      * pm-cpufreq:
        cpufreq: ti-cpufreq: Support additional am43xx platforms
        cpufreq: dt-platdev: Add some missing platforms to the blacklist
      
      * pm-cpuidle:
        ARM: cpuidle: Avoid memleak if init fail
      d84c97f8
    • R
      Merge branches 'pm-core', 'pm-qos' and 'pm-docs' · 1419d033
      Rafael J. Wysocki 提交于
      * pm-core:
        PM: core: Fix device_pm_check_callbacks()
      
      * pm-qos:
        PM / QoS: Use the correct variable to check the QoS request type
      
      * pm-docs:
        PM: docs: Drop an excess character from devices.rst
        driver core: Fix link to device power management documentation
      1419d033
    • K
      Input: elan_i2c - extend Flash-Write delay · 05f5c385
      KT Liao 提交于
      The original 20ms delay is only marginally enough delay after a block write
      operation during firmware update. Let's increase the delay to ensure that
      the controller finishes up storing the page to avoid failures in the
      firmware updates.
      Signed-off-by: NKT Liao <kt.liao@emc.com.tw>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      05f5c385
    • L
      Merge tag 'for-linus-4.14b-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 0a8abd97
      Linus Torvalds 提交于
      Pull xen fixes from Juergen Gross:
       "A fix for a missing __init annotation and two cleanup patches"
      
      * tag 'for-linus-4.14b-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen, arm64: drop dummy lookup_address()
        xen: don't compile pv-specific parts if XEN_PV isn't configured
        xen: x86: mark xen_find_pt_base as __init
      0a8abd97
    • L
      Merge tag 'powerpc-4.14-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · d6396a73
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
       "It turns out our single-fix pull from last week was too good to be
        true. I missed a few fixes in that pull that had already come in
        because I was on leave, but also we hadn't found the bugs yet. So this
        week it's a bit bigger, though not ridiculous. Hopefully things will
        settle down from here on.
      
        Four fixes for the new instruction emulation code. A fix for CPU
        offline on bare metal machines when certain idle states are not
        supported, and a fix for a device_node refcounting oops during CPU
        hotplug, caused by recent changes.
      
        Going to stable are a fix for an oops during core dump on machines
        that have TM (Transactional Memory) disabled. Reordering some EEH
        initialisation to avoid trashing memory, and another device_node
        refcounting fix.
      
        And a few other minor things.
      
       Thanks to: Anton Blanchard, Benjamin Herrenschmidt, Cyril Bur, Gautham
       R. Shenoy, Gustavo Romero, Kamalesh Babulal, Matthew Weber, Matt Weber,
       Naveen N. Rao, Nicholas Piggin, Pavithra Prakash, Ravi Bangoria, Ronak
       Desai, Scott Wood, Tyrel Datwyler"
      
      * tag 'powerpc-4.14-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/pseries: Fix parent_dn reference leak in add_dt_node()
        powerpc/pseries: Fix "OF: ERROR: Bad of_node_put() on /cpus" during DLPAR
        powerpc/eeh: Create PHB PEs after EEH is initialized
        powerpc/kprobes: Update optprobes to use emulate_update_regs()
        powerpc/powernv: Clear LPCR[PECE1] via stop-api only for deep state offline
        powerpc/sstep: mullw should calculate a 64 bit signed result
        powerpc/sstep: Fix issues with mcrf
        powerpc/sstep: Fix issues with set_cr0()
        powerpc/tm: Flush TM only if CPU has TM feature
        powerpc/sysrq: Fix oops whem ppmu is not registered
        powerpc/configs: Update for CONFIG_SND changes
        powerpc/e6500: Update machine check for L1D cache err
      d6396a73
    • L
      Merge branch '4.14-fixes' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 7e6d8f83
      Linus Torvalds 提交于
      Pull MIPS fixes from Ralf Baechle:
      
       - Fix a build error on MSP71xx which used to rely on somehow magically
         <asm/setup.h> being pulled in which no longer happens.
      
       - Fix the __write_64bit_c0_split inline assembler where there was the
         theoretical possibility of GCC interpret the constraints such that
         bad code could result.
      
       - A __init was causing section mismatch errors on Alchemy. Just to be
         on the safe side, Manuel's patch does away with all of them.
      
       - Fix perf event init.
      
      * '4.14-fixes' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: PCI: fix pcibios_map_irq section mismatch
        MIPS: Fix input modify in __write_64bit_c0_split()
        MIPS: MSP71xx: Include asm/setup.h
        MIPS: Fix perf event init
      7e6d8f83
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · c8107ed9
      Linus Torvalds 提交于
      Pull s390 fixes from Martin Schwidefsky:
      
       - A couple of bug fixes: memory management, perf, cio, dasd and
         scm_blk.
      
       - A larger change in regard to the CPU topology to improve performance
         for systems running under z/VM or KVM.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/topology: enable / disable topology dynamically
        s390/topology: alternative topology for topology-less machines
        s390/mm: fix write access check in gup_huge_pmd()
        s390/mm: make pmdp_invalidate() do invalidation only
        s390/cio: recover from bad paths
        s390/scm_blk: consistently use blk_status_t as error type
        s390/dasd: fix race during dasd initialization
        s390/perf: fix bug when creating per-thread event
      c8107ed9
    • L
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 7a6d0071
      Linus Torvalds 提交于
      Pull crypto fixes from Herbert Xu:
       - Fix compiler warnings in inside-secure
       - Fix LS1021A support in caam
       - Avoid using RBP in x86 crypto code
       - Fix bug in talitos that prevents hashing with algif
       - Fix bugs talitos hashing code that cause incorrect hash result
       - Fix memory freeing path bug in drbg
       - Fix af_alg crash when two SG lists are chained
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: af_alg - update correct dst SGL entry
        crypto: caam - fix LS1021A support on ARMv7 multiplatform kernel
        crypto: inside-secure - fix gcc-4.9 warnings
        crypto: talitos - Don't provide setkey for non hmac hashing algs
        crypto: talitos - fix hashing
        crypto: talitos - fix sha224
        crypto: x86/twofish - Fix RBP usage
        crypto: sha512-avx2 - Fix RBP usage
        crypto: x86/sha256-ssse3 - Fix RBP usage
        crypto: x86/sha256-avx2 - Fix RBP usage
        crypto: x86/sha256-avx - Fix RBP usage
        crypto: x86/sha1-ssse3 - Fix RBP usage
        crypto: x86/sha1-avx2 - Fix RBP usage
        crypto: x86/des3_ede - Fix RBP usage
        crypto: x86/cast6 - Fix RBP usage
        crypto: x86/cast5 - Fix RBP usage
        crypto: x86/camellia - Fix RBP usage
        crypto: x86/blowfish - Fix RBP usage
        crypto: drbg - fix freeing of resources
      7a6d0071
  2. 22 9月, 2017 6 次提交
    • A
      drivers/perf: arm_pmu_acpi: Release memory obtained by kasprintf · a88dc7ba
      Arvind Yadav 提交于
      Free memory region, if arm_pmu_acpi_probe is not successful.
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      a88dc7ba
    • R
      iommu/of: Remove PCI host bridge node check · c0d05cde
      Robin Murphy 提交于
      of_pci_iommu_init() tries to be clever and stop its alias walk at the
      device represented by master_np, in case of weird PCI topologies where
      the bridge to the IOMMU and the rest of the system is not at the root.
      It turns out this is a bit short-sighted, since there are plenty of
      other callers of pci_for_each_dma_alias() which would also need the same
      behaviour in that situation, and the only platform so far with such a
      topology (Cavium ThunderX2) already solves it more generally via a PCI
      quirk. As this check is effectively redundant, and returning a boolean
      value as an int is a bit broken anyway, let's just get rid of it.
      Reported-by: NJean-Philippe Brucker <jean-philippe.brucker@arm.com>
      Fixes: d87beb74 ("iommu/of: Handle PCI aliases properly")
      Signed-off-by: NRobin Murphy <robin.murphy@arm.com>
      Tested-by: NJean-Philippe Brucker <jean-philippe.brucker@arm.com>
      Signed-off-by: NJoerg Roedel <jroedel@suse.de>
      c0d05cde
    • L
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 6e80ecdd
      Linus Torvalds 提交于
      Pull libnvdimm fixes from Dan Williams:
       "A crash fix and corresponding regression test enabling for the crash
        scenario. The unit test for this crash is available in ndctl-v58.2.
      
        This branch has received a build success notification from the
        0day-kbuild robot over 148 configs. The fix is tagged for -stable /
        backport to 4.13"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        libnvdimm, namespace: fix btt claim class crash
        tools/testing/nvdimm: disable labels for nfit_test.1
      6e80ecdd
    • D
      Input: uinput - avoid crash when sending FF request to device going away · 6b4877c7
      Dmitry Torokhov 提交于
      If FF request comes in while uinput device is going away,
      uinput_request_send() will fail with -ENODEV, and uinput_request_submit()
      will attempt to mark the slot as unused by calling uinput_request_done().
      Unfortunately in this case we haven't initialized request->done completion
      yet, and we get a crash:
      
      [   39.402036] BUG: spinlock bad magic on CPU#1, fftest/3108
      [   39.402046]  lock: 0xffff88006a93bb00, .magic: 00000000, .owner: /39, .owner_cpu: 1217155072
      [   39.402055] CPU: 1 PID: 3108 Comm: fftest Tainted: G        W 4.13.0+ #15
      [   39.402059] Hardware name: LENOVO 20HQS0EG02/20HQS0EG02, BIOS N1MET37W (1.22 ) 07/04/2017
      [   39.402064]  0000000000000086 f0fad82f3ceaa120 ffff88006a93b9a0 ffffffff9de941bb
      [   39.402077]  ffff88026df8ae00 ffff88006a93bb00 ffff88006a93b9c0 ffffffff9dca62b7
      [   39.402088]  ffff88006a93bb00 ffff88006a93baf8 ffff88006a93b9e0 ffffffff9dca62e7
      [   39.402099] Call Trace:
      [   39.402112]  [<ffffffff9de941bb>] dump_stack+0x4d/0x63
      [   39.402123]  [<ffffffff9dca62b7>] spin_dump+0x97/0x9c
      [   39.402130]  [<ffffffff9dca62e7>] spin_bug+0x2b/0x2d
      [   39.402138]  [<ffffffff9dca6373>] do_raw_spin_lock+0x28/0xfd
      [   39.402147]  [<ffffffff9e3055cd>] _raw_spin_lock_irqsave+0x19/0x1f
      [   39.402154]  [<ffffffff9dca05b7>] complete+0x1d/0x48
      [   39.402162]  [<ffffffffc04f30af>] 0xffffffffc04f30af
      [   39.402167]  [<ffffffffc04f468c>] 0xffffffffc04f468c
      [   39.402177]  [<ffffffff9dd59c16>] ? __slab_free+0x22f/0x359
      [   39.402184]  [<ffffffff9dcc13e9>] ? tk_clock_read+0xc/0xe
      [   39.402189]  [<ffffffffc04f471f>] 0xffffffffc04f471f
      [   39.402195]  [<ffffffff9dc9ffe5>] ? __wake_up+0x44/0x4b
      [   39.402200]  [<ffffffffc04f3240>] ? 0xffffffffc04f3240
      [   39.402207]  [<ffffffff9e0f57f3>] erase_effect+0xa1/0xd2
      [   39.402214]  [<ffffffff9e0f58c6>] input_ff_flush+0x43/0x5c
      [   39.402219]  [<ffffffffc04f32ad>] 0xffffffffc04f32ad
      [   39.402227]  [<ffffffff9e0f174f>] input_flush_device+0x3d/0x51
      [   39.402234]  [<ffffffff9e0f69ae>] evdev_flush+0x49/0x5c
      [   39.402243]  [<ffffffff9dd62d6e>] filp_close+0x3f/0x65
      [   39.402253]  [<ffffffff9dd7dcf7>] put_files_struct+0x66/0xc1
      [   39.402261]  [<ffffffff9dd7ddeb>] exit_files+0x47/0x4e
      [   39.402270]  [<ffffffff9dc6b329>] do_exit+0x483/0x969
      [   39.402278]  [<ffffffff9dc73211>] ? recalc_sigpending_tsk+0x3d/0x44
      [   39.402285]  [<ffffffff9dc6c7a2>] do_group_exit+0x42/0xb0
      [   39.402293]  [<ffffffff9dc767e1>] get_signal+0x58d/0x5bf
      [   39.402300]  [<ffffffff9dc03701>] do_signal+0x37/0x53e
      [   39.402307]  [<ffffffff9e0f8401>] ? evdev_ioctl_handler+0xac8/0xb04
      [   39.402314]  [<ffffffff9e0f8464>] ? evdev_ioctl+0x10/0x12
      [   39.402321]  [<ffffffff9dd74cfa>] ? do_vfs_ioctl+0x42e/0x501
      [   39.402328]  [<ffffffff9dc0170e>] prepare_exit_to_usermode+0x66/0x90
      [   39.402333]  [<ffffffff9dc0181b>] syscall_return_slowpath+0xe3/0xec
      [   39.402339]  [<ffffffff9e305b7b>] int_ret_from_sys_call+0x25/0x8f
      
      While we could solve this by simply initializing the completion earlier, we
      are better off rearranging the code a bit so we avoid calling complete() on
      requests that we did not send out. This patch consolidates marking request
      slots as free in one place (in uinput_request_submit(), the same place
      where we acquire them) and having everyone else simply signal completion
      of the requests.
      
      Fixes: 00ce756c ("Input: uinput - mark failed submission requests as free")
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      6b4877c7
    • D
      Input: uinput - avoid FF flush when destroying device · e8b95728
      Dmitry Torokhov 提交于
      Normally, when input device supporting force feedback effects is being
      destroyed, we try to "flush" currently playing effects, so that the
      physical device does not continue vibrating (or executing other effects).
      Unfortunately this does not work well for uinput as flushing of the effects
      deadlocks with the destroy action:
      
      - if device is being destroyed because the file descriptor is being closed,
        then there is noone to even service FF requests;
      
      - if device is being destroyed because userspace sent UI_DEV_DESTROY,
        while theoretically it could be possible to service FF requests,
        userspace is unlikely to do so (they'd need to make sure FF handling
        happens on a separate thread) even if kernel solves the issue with FF
        ioctls deadlocking with UI_DEV_DESTROY ioctl on udev->mutex.
      
      To avoid lockups like the one below, let's install a custom input device
      flush handler, and avoid trying to flush force feedback effects when we
      destroying the device, and instead rely on uinput to shut off the device
      properly.
      
      NMI watchdog: Watchdog detected hard LOCKUP on cpu 3
      ...
       <<EOE>>  [<ffffffff817a0307>] _raw_spin_lock_irqsave+0x37/0x40
       [<ffffffff810e633d>] complete+0x1d/0x50
       [<ffffffffa00ba08c>] uinput_request_done+0x3c/0x40 [uinput]
       [<ffffffffa00ba587>] uinput_request_submit.part.7+0x47/0xb0 [uinput]
       [<ffffffffa00bb62b>] uinput_dev_erase_effect+0x5b/0x76 [uinput]
       [<ffffffff815d91ad>] erase_effect+0xad/0xf0
       [<ffffffff815d929d>] flush_effects+0x4d/0x90
       [<ffffffff815d4cc0>] input_flush_device+0x40/0x60
       [<ffffffff815daf1c>] evdev_cleanup+0xac/0xc0
       [<ffffffff815daf5b>] evdev_disconnect+0x2b/0x60
       [<ffffffff815d74ac>] __input_unregister_device+0xac/0x150
       [<ffffffff815d75f7>] input_unregister_device+0x47/0x70
       [<ffffffffa00bac45>] uinput_destroy_device+0xb5/0xc0 [uinput]
       [<ffffffffa00bb2de>] uinput_ioctl_handler.isra.9+0x65e/0x740 [uinput]
       [<ffffffff811231ab>] ? do_futex+0x12b/0xad0
       [<ffffffffa00bb3f8>] uinput_ioctl+0x18/0x20 [uinput]
       [<ffffffff81241248>] do_vfs_ioctl+0x298/0x480
       [<ffffffff81337553>] ? security_file_ioctl+0x43/0x60
       [<ffffffff812414a9>] SyS_ioctl+0x79/0x90
       [<ffffffff817a04ee>] entry_SYSCALL_64_fastpath+0x12/0x71
      Reported-by: NRodrigo Rivas Costa <rodrigorivascosta@gmail.com>
      Reported-by: NClément VUCHENER <clement.vuchener@gmail.com>
      Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=193741Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      e8b95728
    • L
      Merge tag 'kbuild-fixes-v4.14' of... · 4a704d6d
      Linus Torvalds 提交于
      Merge tag 'kbuild-fixes-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
       "Here are some early Kbuild fixes.
      
        The in-kernel firmware was removed during the previous merge window.
        Since then, some bug reports of broken rpm building are flying in ML.
        We need to fix it now.
      
        Summary:
      
         - remove firmware install from rpm-pkg / deb-pkg
      
         - fix mismatch between release number and UTS_VERSION for rpm-pkg"
      
      * tag 'kbuild-fixes-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: rpm-pkg: fix version number handling
        kbuild: deb-pkg: remove firmware package support
        kbuild: rpm-pkg: delete firmware_install to fix build error
      4a704d6d
  3. 21 9月, 2017 12 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 449cd5d2
      Linus Torvalds 提交于
      Pull misc fixes from Al Viro:
       "A couple of regression fixes, one for this merge window, one for the
        previous cycle"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ipc/shm: Fix order of parameters when calling copy_compat_shmid_to_user
        iov_iter: fix page_copy_sane for compound pages
      449cd5d2
    • L
      Merge tag 'mtd/fixes-for-4.14-rc2' of git://git.infradead.org/linux-mtd · d9fde269
      Linus Torvalds 提交于
      Pull mtd fixes from Boris Brezillon:
       "SPI NOR:
         - Fix the SFDP parsing code (bugs reported by Geert Uytterhoeven)
      
        NAND:
         - Fix a resource leak in the lpc32xx_mlc driver
         - Fix a build warning in the core"
      
      * tag 'mtd/fixes-for-4.14-rc2' of git://git.infradead.org/linux-mtd:
        mtd: nand: remove unused blockmask variable
        mtd: nand: lpc32xx_mlc: Fix an error handling path in lpc32xx_nand_probe()
        mtd: spi-nor: fix DMA unsafe buffer issue in spi_nor_read_sfdp()
        mtd: spi-nor: Check consistency of the memory size extracted from the SFDP
      d9fde269
    • L
      Merge tag 'drm-fixes-for-v4.14-rc2' of git://people.freedesktop.org/~airlied/linux · b6e78a6f
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "amdkfd, i915 and exynos fixes.
      
        I've ended up on unplanned + planned leave this week, but there were
        some fixes I decided to dequeue, some amdkfd bits missed the next pull
        but they are pretty trivial, so I included them.
      
        I'm not sure I'll see much else for rc2, lots of people are at XDC"
      
      * tag 'drm-fixes-for-v4.14-rc2' of git://people.freedesktop.org/~airlied/linux:
        drm/exynos/hdmi: Fix unsafe list iteration
        drm: exynos: include linux/irq.h
        drm/exynos: Fix suspend/resume support
        drm/exynos: Fix locking in the suspend/resume paths
        drm/i915: Remove unused 'in_vbl' from i915_get_crtc_scanoutpos()
        drm/i915/cnp: set min brightness from VBT
        Revert "drm/i915/bxt: Disable device ready before shutdown command"
        drm/i915/bxt: set min brightness from VBT
        drm/i915: Fix an error handling in 'intel_framebuffer_init()'
        drm/i915/gvt: Fix incorrect PCI BARs reporting
        drm/amdkfd: pass queue's mqd when destroying mqd
        drm/amdkfd: remove memset before memcpy
        uapi linux/kfd_ioctl.h: only use __u32 and __u64
      b6e78a6f
    • L
      Merge tag 'dma-mapping-4.14-2' of git://git.infradead.org/users/hch/dma-mapping · 20c29a97
      Linus Torvalds 提交于
      Pull dma mapping fix from Christoph Hellwig:
       "A fix for a fix that went in this merge window from Arnd"
      
      * tag 'dma-mapping-4.14-2' of git://git.infradead.org/users/hch/dma-mapping:
        dma-coherent: fix rmem_dma_device_init regression
      20c29a97
    • M
      MIPS: PCI: fix pcibios_map_irq section mismatch · 8eba3651
      Manuel Lauss 提交于
      Drop  the __init from pcibios_map_irq() to make this section mis-
      match go away:
      
      WARNING: vmlinux.o(.text+0x56acd4): Section mismatch in reference from the function pcibios_scanbus() to the function .init.text:pcibios_map_irq()
      The function pcibios_scanbus() references
      the function __init pcibios_map_irq().
      This is often because pcibios_scanbus lacks a __init
      annotation or the annotation of pcibios_map_irq is wrong.
      
      Run-Tested only on Alchemy.
      Signed-off-by: NManuel Lauss <manuel.lauss@gmail.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/17267/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      8eba3651
    • J
      MIPS: Fix input modify in __write_64bit_c0_split() · c22c8043
      James Hogan 提交于
      The inline asm in __write_64bit_c0_split() modifies the 64-bit input
      operand by shifting the high register left by 32, and constructing the
      full 64-bit value in the low register (even on a 32-bit kernel), so if
      that value is used again it could cause breakage as GCC would assume the
      registers haven't changed when they have.
      
      To quote the GCC extended asm documentation:
      > Warning: Do not modify the contents of input-only operands (except for
      > inputs tied to outputs). The compiler assumes that on exit from the
      > asm statement these operands contain the same values as they had
      > before executing the statement.
      
      Avoid modifying the input by using a temporary variable as an output
      which is modified instead of the input and not otherwise used. The asm
      is always __volatile__ so GCC shouldn't optimise it out. The low
      register of the temporary output is written before the high register of
      the input is read, so we have two constraint alternatives, one where
      both use the same registers (for when the input value isn't subsequently
      used), and one with an early clobber on the output in case the low
      output uses the same register as the high input. This allows the
      resulting assembly to remain mostly unchanged.
      
      A diff of a MIPS32r6 kernel reveals only three differences, two in
      relation to write_c0_r10k_diag() in cpu_probe() (register allocation
      rearranged slightly but otherwise identical), and one in relation to
      write_c0_cvmmemctl2() in kvm_vz_local_flush_guesttlb_all(), but the
      octeon CPU is only supported on 64-bit kernels where
      __write_64bit_c0_split() isn't used so that shouldn't matter in
      practice. So there currently doesn't appear to be anything broken by
      this bug.
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/17315/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      c22c8043
    • A
      MIPS: MSP71xx: Include asm/setup.h · 9bbe7dc0
      Arnd Bergmann 提交于
      msp71xx_defconfig can not be built at the in v4.14-rc1
      
      arch/mips/pmcs-msp71xx/msp_smp.c:72:2: error: implicit declaration of function 'set_vi_handler' [-Werror=implicit-function-declaration]
      
      I don't know what caused the regression, but including the right
      header is the obvious fix.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/17309/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      9bbe7dc0
    • T
      powerpc/pseries: Fix parent_dn reference leak in add_dt_node() · b537ca6f
      Tyrel Datwyler 提交于
      A reference to the parent device node is held by add_dt_node() for the
      node to be added. If the call to dlpar_configure_connector() fails
      add_dt_node() returns ENOENT and that reference is not freed.
      
      Add a call to of_node_put(parent_dn) prior to bailing out after a
      failed dlpar_configure_connector() call.
      
      Fixes: 8d5ff320 ("powerpc/pseries: Make dlpar_configure_connector parent node aware")
      Cc: stable@vger.kernel.org # v3.12+
      Signed-off-by: NTyrel Datwyler <tyreld@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      b537ca6f
    • T
      powerpc/pseries: Fix "OF: ERROR: Bad of_node_put() on /cpus" during DLPAR · 087ff6a5
      Tyrel Datwyler 提交于
      Commit 215ee763 ("powerpc: pseries: remove dlpar_attach_node
      dependency on full path") reworked dlpar_attach_node() to no longer
      look up the parent node "/cpus", but instead to have the parent node
      passed by the caller in the function parameter list.
      
      As a result dlpar_attach_node() is no longer responsible for freeing
      the reference to the parent node. However, commit 215ee763 failed
      to remove the of_node_put(parent) call in dlpar_attach_node(), or to
      take into account that the reference to the parent in the caller
      dlpar_cpu_add() needs to be held until after dlpar_attach_node()
      returns.
      
      As a result doing repeated cpu add/remove dlpar operations will
      eventually result in the following error:
      
        OF: ERROR: Bad of_node_put() on /cpus
        CPU: 0 PID: 10896 Comm: drmgr Not tainted 4.13.0-autotest #1
        Call Trace:
         dump_stack+0x15c/0x1f8 (unreliable)
         of_node_release+0x1a4/0x1c0
         kobject_put+0x1a8/0x310
         kobject_del+0xbc/0xf0
         __of_detach_node_sysfs+0x144/0x210
         of_detach_node+0xf0/0x180
         dlpar_detach_node+0xc4/0x120
         dlpar_cpu_remove+0x280/0x560
         dlpar_cpu_release+0xbc/0x1b0
         arch_cpu_release+0x6c/0xb0
         cpu_release_store+0xa0/0x100
         dev_attr_store+0x68/0xa0
         sysfs_kf_write+0xa8/0xf0
         kernfs_fop_write+0x2cc/0x400
         __vfs_write+0x5c/0x340
         vfs_write+0x1a8/0x3d0
         SyS_write+0xa8/0x1a0
         system_call+0x58/0x6c
      
      Fix the issue by removing the of_node_put(parent) call from
      dlpar_attach_node(), and ensuring that the reference to the parent
      node is properly held and released by the caller dlpar_cpu_add().
      
      Fixes: 215ee763 ("powerpc: pseries: remove dlpar_attach_node dependency on full path")
      Signed-off-by: NTyrel Datwyler <tyreld@linux.vnet.ibm.com>
      Reported-by: NAbdul Haleem <abdhalee@linux.vnet.ibm.com>
      [mpe: Add a comment in the code and frob the change log slightly]
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      087ff6a5
    • B
      powerpc/eeh: Create PHB PEs after EEH is initialized · 3e77adee
      Benjamin Herrenschmidt 提交于
      Otherwise we end up not yet having computed the right diag data size
      on powernv where EEH initialization is delayed, thus causing memory
      corruption later on when calling OPAL.
      
      Fixes: 5cb1f8fd ("powerpc/powernv/pci: Dynamically allocate PHB diag data")
      Cc: stable@vger.kernel.org # v4.13+
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NRussell Currey <ruscur@russell.cc>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      3e77adee
    • W
      ipc/shm: Fix order of parameters when calling copy_compat_shmid_to_user · 58aff0af
      Will Deacon 提交于
      Commit 553f770e ("ipc: move compat shmctl to native") moved the
      compat IPC syscall handling into ipc/shm.c and refactored the struct
      accessors in the process. Unfortunately, the call to
      copy_compat_shmid_to_user when handling a compat {IPC,SHM}_STAT command
      gets the arguments the wrong way round, passing a kernel stack address
      as the user buffer (destination) and the user buffer as the kernel stack
      address (source).
      
      This patch fixes the parameter ordering so the buffers are accessed
      correctly.
      
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      58aff0af
    • P
      iov_iter: fix page_copy_sane for compound pages · a90bcb86
      Petar Penkov 提交于
      Issue is that if the data crosses a page boundary inside a compound
      page, this check will incorrectly trigger a WARN_ON.
      
      To fix this, compute the order using the head of the compound page and
      adjust the offset to be relative to that head.
      
      Fixes: 72e809ed ("iov_iter: sanity checks for copy to/from page
      primitives")
      Signed-off-by: NPetar Penkov <ppenkov@google.com>
      CC: Al Viro <viro@zeniv.linux.org.uk>
      CC: Eric Dumazet <edumazet@google.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      a90bcb86