1. 07 5月, 2017 3 次提交
    • G
      refcount: change EXPORT_SYMBOL markings · d557d1b5
      Greg Kroah-Hartman 提交于
      Now that kref is using the refcount apis, the _GPL markings are getting
      exported to places that it previously wasn't.  Now kref.h is GPLv2
      licensed, so any non-GPL code using it better be talking to some
      lawyers, but changing api markings isn't considered "nice", so let's fix
      this up.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d557d1b5
    • M
      docs: bump minimal GNU Make version to 3.81 · 37d69ee3
      Masahiro Yamada 提交于
      Since 2014, you can't successfully build kernels with GNU Make version
      3.80. Example errors:
      
        $ git describe
        v4.11
        $ make --version | head -1
        GNU Make 3.80
        $ make defconfig
          HOSTCC  scripts/basic/fixdep
        scripts/Makefile.host:135: *** missing separator.  Stop.
        make: *** [defconfig] Error 2
        $ make ARCH=arm64 help
        arch/arm64/Makefile:43: *** unterminated call to function `warning': missing `)'.  Stop.
        $ make help >/dev/null
        ./Documentation/Makefile.sphinx:25: Extraneous text after `else' directive
        ./Documentation/Makefile.sphinx:31: *** only one `else' per conditional.  Stop.
        make: *** [help] Error 2
      
      The first breakage was introduced by commit c8589d1e ("kbuild:
      handle multi-objs dependency appropriately").  Since then (i.e. v3.18),
      GNU Make 3.80 has not been able to compile the kernel, but nobody has
      ever complained aboutt (or noticed) it.
      
      Even GNU Make 3.81 is more than 10 years old.  It would not hurt to
      match the documentation with reality instead of fixing makefiles.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      37d69ee3
    • L
      initramfs: avoid "label at end of compound statement" error · 394e4f5d
      Linus Torvalds 提交于
      Commit 17a9be31 ("initramfs: Always do fput() and load modules after
      rootfs populate") introduced an error for the
      
          CONFIG_BLK_DEV_RAM=y
      
      case, because even though the code looks fine, the compiler really wants
      a statement after a label, or you'll get complaints:
      
        init/initramfs.c: In function 'populate_rootfs':
        init/initramfs.c:644:2: error: label at end of compound statement
      
      That commit moved the subsequent statements to outside the compound
      statement, leaving the label without any associated statements.
      Reported-by: NJörg Otte <jrg.otte@gmail.com>
      Fixes: 17a9be31 ("initramfs: Always do fput() and load modules after rootfs populate")
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Stafford Horne <shorne@gmail.com>
      Cc: stable@vger.kernel.org  # if 17a9be31 gets backported
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      394e4f5d
  2. 06 5月, 2017 16 次提交
    • L
      Merge tag 'devicetree-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 3ef2bc09
      Linus Torvalds 提交于
      Pull DeviceTree updates from Rob Herring:
      
       - fix sparse warnings in drivers/of/
      
       - add more overlay unittests
      
       - update dtc to v1.4.4-8-g756ffc4f52f6. This adds more checks on dts
         files such as unit-address formatting and stricter character sets for
         node and property names
      
       - add a common DT modalias function
      
       - move trivial-devices.txt up and out of i2c dir
      
       - ARM NVIC interrupt controller binding
      
       - vendor prefixes for Sensirion, Dioo, Nordic, ROHM
      
       - correct some binding file locations
      
      * tag 'devicetree-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (24 commits)
        of: fix sparse warnings in fdt, irq, reserved mem, and resolver code
        of: fix sparse warning in of_pci_range_parser_one
        of: fix sparse warnings in of_find_next_cache_node
        of/unittest: Missing unlocks on error
        of: fix uninitialized variable warning for overlay test
        of: fix unittest build without CONFIG_OF_OVERLAY
        of: Add unit tests for applying overlays
        of: per-file dtc compiler flags
        fpga: region: add missing DT documentation for config complete timeout
        of: Add vendor prefix for ROHM Semiconductor
        of: fix "/cpus" reference leak in of_numa_parse_cpu_nodes()
        of: Add vendor prefix for Nordic Semiconductor
        dt-bindings: arm,nvic: Binding for ARM NVIC interrupt controller on Cortex-M
        dtc: update warning settings for new bus and node/property name checks
        scripts/dtc: Update to upstream version v1.4.4-8-g756ffc4f52f6
        scripts/dtc: automate getting dtc version and log in update script
        of: Add function for generating a DT modalias with a newline
        of: fix of_device_get_modalias returned length when truncating buffers
        Documentation: devicetree: move trivial-devices out of I2C realm
        dt-bindings: add vendor prefix for Dioo
        ..
      3ef2bc09
    • L
      Merge tag 'for-4.12/dm-fixes' of... · 2eecf3a4
      Linus Torvalds 提交于
      Merge tag 'for-4.12/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - DM cache metadata fixes to short-circuit operations that require the
         metadata not be in 'fail_io' mode. Otherwise crashes are possible.
      
       - a DM cache fix to address the inability to adapt to continuous IO
         that happened to also reflect a changing working set (which required
         old blocks be demoted before the new working set could be promoted)
      
       - a DM cache smq policy cleanup that fell out from reviewing the above
      
       - fix the Kconfig help text for CONFIG_DM_INTEGRITY
      
      * tag 'for-4.12/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm cache metadata: fail operations if fail_io mode has been established
        dm integrity: improve the Kconfig help text for DM_INTEGRITY
        dm cache policy smq: cleanup free_target_met() and clean_target_met()
        dm cache policy smq: allow demotions to happen even during continuous IO
      2eecf3a4
    • L
      Merge tag 'libnvdimm-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 53ef7d0e
      Linus Torvalds 提交于
      Pull libnvdimm updates from Dan Williams:
       "The bulk of this has been in multiple -next releases. There were a few
        late breaking fixes and small features that got added in the last
        couple days, but the whole set has received a build success
        notification from the kbuild robot.
      
        Change summary:
      
         - Region media error reporting: A libnvdimm region device is the
           parent to one or more namespaces. To date, media errors have been
           reported via the "badblocks" attribute attached to pmem block
           devices for namespaces in "raw" or "memory" mode. Given that
           namespaces can be in "device-dax" or "btt-sector" mode this new
           interface reports media errors generically, i.e. independent of
           namespace modes or state.
      
           This subsequently allows userspace tooling to craft "ACPI 6.1
           Section 9.20.7.6 Function Index 4 - Clear Uncorrectable Error"
           requests and submit them via the ioctl path for NVDIMM root bus
           devices.
      
         - Introduce 'struct dax_device' and 'struct dax_operations': Prompted
           by a request from Linus and feedback from Christoph this allows for
           dax capable drivers to publish their own custom dax operations.
           This fixes the broken assumption that all dax operations are
           related to a persistent memory device, and makes it easier for
           other architectures and platforms to add customized persistent
           memory support.
      
         - 'libnvdimm' core updates: A new "deep_flush" sysfs attribute is
           available for storage appliance applications to manually trigger
           memory controllers to drain write-pending buffers that would
           otherwise be flushed automatically by the platform ADR
           (asynchronous-DRAM-refresh) mechanism at a power loss event.
           Support for "locked" DIMMs is included to prevent namespaces from
           surfacing when the namespace label data area is locked. Finally,
           fixes for various reported deadlocks and crashes, also tagged for
           -stable.
      
         - ACPI / nfit driver updates: General updates of the nfit driver to
           add DSM command overrides, ACPI 6.1 health state flags support, DSM
           payload debug available by default, and various fixes.
      
        Acknowledgements that came after the branch was pushed:
      
         - commmit 565851c9 "device-dax: fix sysfs attribute deadlock":
      Tested-by: NYi Zhang <yizhan@redhat.com>
      
         - commit 23f49844 "libnvdimm: rework region badblocks clearing"
           Tested-by: Toshi Kani <toshi.kani@hpe.com>"
      
      * tag 'libnvdimm-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (52 commits)
        libnvdimm, pfn: fix 'npfns' vs section alignment
        libnvdimm: handle locked label storage areas
        libnvdimm: convert NDD_ flags to use bitops, introduce NDD_LOCKED
        brd: fix uninitialized use of brd->dax_dev
        block, dax: use correct format string in bdev_dax_supported
        device-dax: fix sysfs attribute deadlock
        libnvdimm: restore "libnvdimm: band aid btt vs clear poison locking"
        libnvdimm: fix nvdimm_bus_lock() vs device_lock() ordering
        libnvdimm: rework region badblocks clearing
        acpi, nfit: kill ACPI_NFIT_DEBUG
        libnvdimm: fix clear length of nvdimm_forget_poison()
        libnvdimm, pmem: fix a NULL pointer BUG in nd_pmem_notify
        libnvdimm, region: sysfs trigger for nvdimm_flush()
        libnvdimm: fix phys_addr for nvdimm_clear_poison
        x86, dax, pmem: remove indirection around memcpy_from_pmem()
        block: remove block_device_operations ->direct_access()
        block, dax: convert bdev_dax_supported() to dax_direct_access()
        filesystem-dax: convert to dax_direct_access()
        Revert "block: use DAX for partition table reads"
        ext2, ext4, xfs: retrieve dax_device for iomap operations
        ...
      53ef7d0e
    • L
      Merge tag 'staging-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · c6a677c6
      Linus Torvalds 提交于
      Pull staging/IIO updates from Greg KH:
       "Here is the big staging tree update for 4.12-rc1.
      
        It's a big one, adding about 350k new lines of crap^Wcode, mostly all
        in a big dump of media drivers from Intel. But there's other new
        drivers in here as well, yet-another-wifi driver, new IIO drivers, and
        a new crypto accelerator.
      
        We also deleted a bunch of stuff, mostly in patch cleanups, but also
        the Android ION code has shrunk a lot, and the Android low memory
        killer driver was finally deleted, much to the celebration of the -mm
        developers.
      
        All of these have been in linux-next with a few build issues that will
        show up when you merge to your tree"
      
      Merge conflicts in the new rtl8723bs driver (due to the wifi changes
      this merge window) handled as per linux-next, courtesy of Stephen
      Rothwell.
      
      * tag 'staging-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1182 commits)
        staging: fsl-mc/dpio: add cpu <--> LE conversion for dpaa2_fd
        staging: ks7010: remove line continuations in quoted strings
        staging: vt6656: use tabs instead of spaces
        staging: android: ion: Fix unnecessary initialization of static variable
        staging: media: atomisp: fix range checking on clk_num
        staging: media: atomisp: fix misspelled word in comment
        staging: media: atomisp: kmap() can't fail
        staging: atomisp: remove #ifdef for runtime PM functions
        staging: atomisp: satm include directory is gone
        atomisp: remove some more unused files
        atomisp: remove hmm_load/store/clear indirections
        atomisp: kill off mmgr_free
        atomisp: clean up the hmm init/cleanup indirections
        atomisp: handle allocation calls before init in the hmm layer
        staging: fsl-dpaa2/eth: Add maintainer for Ethernet driver
        staging: fsl-dpaa2/eth: Add TODO file
        staging: fsl-dpaa2/eth: Add trace points
        staging: fsl-dpaa2/eth: Add driver specific stats
        staging: fsl-dpaa2/eth: Add ethtool support
        staging: fsl-dpaa2/eth: Add Freescale DPAA2 Ethernet driver
        ...
      c6a677c6
    • L
      Merge tag 'media/v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · e87d51ac
      Linus Torvalds 提交于
      Pull media updates from Mauro Carvalho Chehab:
       "Media updates for v4.12-rc1:
      
         - new driver to support mediatek jpeg in hardware codec
      
         - rc-lirc, s5p-cec and st-cec staging drivers got promoted
      
         - hardware histogram support for vsp1 driver
      
         - added Virtual Media Controller driver, to make easier to test the
           media controller
      
         - added a new CEC driver (rainshadow-cec)
      
         - removed two staging LIRC drivers for obscure hardware that are too
           obsolete
      
         - added support for Intel SR300 Depth camera
      
         - some improvements at CEC and RC core
      
         - lots of driver cleanups, improvements all over the tree
      
        With this series, we're finally getting rid of the LIRC staging
        driver. There's just one left (lirc_zilog), with require more care,
        as part of its functionality (IR RX) is already provided by another
        driver. Work in progress to convert it on the proper way"
      
      * tag 'media/v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (304 commits)
        [media] ov2640: print error if devm_*_optional*() fails
        [media] atmel-isc: Fix the static checker warning
        [media] ov2640: add support for MEDIA_BUS_FMT_YVYU8_2X8 and MEDIA_BUS_FMT_VYUY8_2X8
        [media] ov2640: fix vflip control
        [media] ov2640: fix duplicate width+height returning from ov2640_select_win()
        [media] ov2640: add missing write to size change preamble
        [media] ov2640: add information about DSP register 0xc7
        [media] ov2640: improve banding filter register definitions/documentation
        [media] ov2640: fix init sequence alignment
        [media] ov2640: make GPIOLIB an optional dependency
        [media] xc5000: fix spelling mistake: "calibration"
        [media] vidioc-queryctrl.rst: fix menu/int menu references
        [media] media-entity: only call dev_dbg_obj if mdev is not NULL
        [media] pixfmt-meta-vsp1-hgo.rst: remove spurious '-'
        [media] mtk-vcodec: avoid warnings because of empty macros
        [media] coda: bump maximum number of internal framebuffers to 17
        [media] media: mtk-vcodec: remove informative log
        [media] subdev-formats.rst: remove spurious '-'
        [media] dw2102: limit messages to buffer size
        [media] ttusb2: limit messages to buffer size
        ...
      e87d51ac
    • L
      Merge tag 'drm-coc-for-v4.12-rc1' of git://people.freedesktop.org/~airlied/linux · bdc713bf
      Linus Torvalds 提交于
      Pull drm CoC pointer from Dave Airlie:
       "Small supplementary pull request. I didn't want anyone saying we snuck
        this in in a the middle of a big pile of changes, so here is a clearly
        separate pull request documenting the code of conduct introduced for
        freedesktop.org and how it relates to dri-devel community"
      
      * tag 'drm-coc-for-v4.12-rc1' of git://people.freedesktop.org/~airlied/linux:
        drm: Document code of conduct
      bdc713bf
    • L
      Merge tag 'drm-forgot-about-tegra-for-v4.12-rc1' of git://people.freedesktop.org/~airlied/linux · 1062ae49
      Linus Torvalds 提交于
      Pull drm tegra updates from Dave Airlie:
       "I missed a pull request from Thierry, this stuff has been in
        linux-next for a while anyways.
      
        It does contain a branch from the iommu tree, but Thierry said it
        should be fine"
      
      * tag 'drm-forgot-about-tegra-for-v4.12-rc1' of git://people.freedesktop.org/~airlied/linux:
        gpu: host1x: Fix host1x driver shutdown
        gpu: host1x: Support module reset
        gpu: host1x: Sort includes alphabetically
        drm/tegra: Add VIC support
        dt-bindings: Add bindings for the Tegra VIC
        drm/tegra: Add falcon helper library
        drm/tegra: Add Tegra DRM allocation API
        drm/tegra: Add tiling FB modifiers
        drm/tegra: Don't leak kernel pointer to userspace
        drm/tegra: Protect IOMMU operations by mutex
        drm/tegra: Enable IOVA API when IOMMU support is enabled
        gpu: host1x: Add IOMMU support
        gpu: host1x: Fix potential out-of-bounds access
        iommu/iova: Fix compile error with CONFIG_IOMMU_IOVA=m
        iommu: Add dummy implementations for !IOMMU_IOVA
        MAINTAINERS: Add related headers to IOMMU section
        iommu/iova: Consolidate code for adding new node to iovad domain rbtree
      1062ae49
    • L
      Merge tag 'gfs2-4.12.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 1a5fb64f
      Linus Torvalds 提交于
      Pull GFS2 updates from Bob Peterson:
       "We've got ten GFS2 patches for this merge window.
      
         - Andreas Gruenbacher wrote a patch to replace the deprecated call to
           rhashtable_walk_init with rhashtable_walk_enter.
      
         - Andreas also wrote a patch to eliminate redundant code in two of
           our debugfs sequence files.
      
         - Andreas also cleaned up the rhashtable key ugliness Linus pointed
           out during this cycle, following Linus's suggestions.
      
         - Andreas also wrote a patch to take advantage of his new function
           rhashtable_lookup_get_insert_fast. This makes glock lookup faster
           and more bullet-proof.
      
         - Andreas also wrote a patch to revert a patch in the evict path that
           caused occasional deadlocks, and is no longer needed.
      
         - Andrew Price wrote a patch to re-enable fallocate for the rindex
           system file to enable gfs2_grow to grow properly on secondary file
           system grow operations.
      
         - I wrote a patch to initialize an inode number field to make certain
           kernel trace points more understandable.
      
         - I also wrote a patch that makes GFS2 file system "withdraw" work
           more like it should by ignoring operations after a withdraw that
           would formerly cause a BUG() and kernel panic.
      
         - I also reworked the entire truncate/delete algorithm, scrapping the
           old recursive algorithm in favor of a new non-recursive algorithm.
           This was done for performance: This way, GFS2 no longer needs to
           lock multiple resource groups while doing truncates and deletes of
           files that cross multiple resource group boundaries, allowing for
           better parallelism. It also solves a problem whereby deleting large
           files would request a large chunk of kernel memory, which resulted
           in a get_page_from_freelist warning.
      
         - Due to a regression found during testing, I added a new patch to
           correct 'GFS2: Prevent BUG from occurring when normal Withdraws
           occur'."
      
      * tag 'gfs2-4.12.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        GFS2: Allow glocks to be unlocked after withdraw
        GFS2: Non-recursive delete
        gfs2: Re-enable fallocate for the rindex
        Revert "GFS2: Wait for iopen glock dequeues"
        gfs2: Switch to rhashtable_lookup_get_insert_fast
        GFS2: Temporarily zero i_no_addr when creating a dinode
        gfs2: Don't pack struct lm_lockname
        gfs2: Deduplicate gfs2_{glocks,glstats}_open
        gfs2: Replace rhashtable_walk_init with rhashtable_walk_enter
        GFS2: Prevent BUG from occurring when normal Withdraws occur
      1a5fb64f
    • L
      Merge tag 'for-linus-4.12-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · aeced661
      Linus Torvalds 提交于
      Pull orangefs updates from Mike Marshall:
       "Orangefs cleanups, fixes and statx support.
      
        Some cleanups:
      
         - remove unused get_fsid_from_ino
         - fix bounds check for listxattr
         - clean up oversize xattr validation
         - do not set getattr_time on orangefs_lookup
         - return from orangefs_devreq_read quickly if possible
         - do not wait for timeout if umounting
         - handle zero size write in debugfs
      
        Bug fixes:
      
         - do not check possibly stale size on truncate
         - ensure the userspace component is unmounted if mount fails
         - total reimplementation of dir.c
      
        New feature:
      
         - implement statx
      
        The new implementation of dir.c is kind of a big deal, all new code.
        It has been posted to fs-devel during the previous rc period, we
        didn't get much review or feedback from there, but it has been
        reviewed very heavily here, so much so that we have two entire
        versions of the reimplementation.
      
        Not only does the new implementation fix some xfstests, but it passes
        all the new tests we made here that involve seeking and rewinding and
        giant directories and long file names. The new dir code has three
        patches itself:
      
         - skip forward to the next directory entry if seek is short
         - invalidate stored directory on seek
         - count directory pieces correctly"
      
      * tag 'for-linus-4.12-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: count directory pieces correctly
        orangefs: invalidate stored directory on seek
        orangefs: skip forward to the next directory entry if seek is short
        orangefs: handle zero size write in debugfs
        orangefs: do not wait for timeout if umounting
        orangefs: return from orangefs_devreq_read quickly if possible
        orangefs: ensure the userspace component is unmounted if mount fails
        orangefs: do not check possibly stale size on truncate
        orangefs: implement statx
        orangefs: remove ORANGEFS_READDIR macros
        orangefs: support very large directories
        orangefs: support llseek on directories
        orangefs: rewrite readdir to fix several bugs
        orangefs: do not set getattr_time on orangefs_lookup
        orangefs: clean up oversize xattr validation
        orangefs: fix bounds check for listxattr
        orangefs: remove unused get_fsid_from_ino
      aeced661
    • L
      Merge tag 'befs-v4.12-rc1' of git://github.com/luisbg/linux-befs · 414975eb
      Linus Torvalds 提交于
      Pull befs fix from Luis de Bethencourt:
       "One fix from Fabian Frederick making the nfs client still work after a
        cache drop"
      
      * tag 'befs-v4.12-rc1' of git://github.com/luisbg/linux-befs:
        befs: make export work with cold dcache
      414975eb
    • L
      Merge tag 'initramfs-fix-4.12-rc1' of git://github.com/stffrdhrn/linux · 58017a3e
      Linus Torvalds 提交于
      Pull initramfs fix from Stafford Horne:
       "This is a fix for an issue that has caused 4.11 to not boot on
        OpenRISC. I should have caught this during the 4.11 cycle but I had
        been busy on testing some other series of patches.
      
        I would have considered pushing it though a different path but Al Viro
        suggested submitting directly to you.
      
        Also, its just one as I havent really got anything else ready on my
        queue for 4.12.
      
        Summary:
      
         - Ensure fput() flush is done even for builtin initramfs"
      
      * tag 'initramfs-fix-4.12-rc1' of git://github.com/stffrdhrn/linux:
        initramfs: Always do fput() and load modules after rootfs populate
      58017a3e
    • B
      GFS2: Allow glocks to be unlocked after withdraw · ed17545d
      Bob Peterson 提交于
      This bug fixes a regression introduced by patch 0d1c7ae9.
      
      The intent of the patch was to stop promoting glocks after a
      file system is withdrawn due to a variety of errors, because doing
      so results in a BUG(). (You should be able to unmount after a
      withdraw rather than having the kernel panic.)
      
      Unfortunately, it also stopped demotions, so glocks could not be
      unlocked after withdraw, which means the unmount would hang.
      
      This patch allows function do_xmote to demote locks to an
      unlocked state after a withdraw, but not promote them.
      Signed-off-by: NBob Peterson <rpeterso@redhat.com>
      ed17545d
    • L
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ab182e67
      Linus Torvalds 提交于
      Pull arm64 updates from Catalin Marinas:
      
       - kdump support, including two necessary memblock additions:
         memblock_clear_nomap() and memblock_cap_memory_range()
      
       - ARMv8.3 HWCAP bits for JavaScript conversion instructions, complex
         numbers and weaker release consistency
      
       - arm64 ACPI platform MSI support
      
       - arm perf updates: ACPI PMU support, L3 cache PMU in some Qualcomm
         SoCs, Cortex-A53 L2 cache events and DTLB refills, MAINTAINERS update
         for DT perf bindings
      
       - architected timer errata framework (the arch/arm64 changes only)
      
       - support for DMA_ATTR_FORCE_CONTIGUOUS in the arm64 iommu DMA API
      
       - arm64 KVM refactoring to use common system register definitions
      
       - remove support for ASID-tagged VIVT I-cache (no ARMv8 implementation
         using it and deprecated in the architecture) together with some
         I-cache handling clean-up
      
       - PE/COFF EFI header clean-up/hardening
      
       - define BUG() instruction without CONFIG_BUG
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (92 commits)
        arm64: Fix the DMA mmap and get_sgtable API with DMA_ATTR_FORCE_CONTIGUOUS
        arm64: Print DT machine model in setup_machine_fdt()
        arm64: pmu: Wire-up Cortex A53 L2 cache events and DTLB refills
        arm64: module: split core and init PLT sections
        arm64: pmuv3: handle pmuv3+
        arm64: Add CNTFRQ_EL0 trap handler
        arm64: Silence spurious kbuild warning on menuconfig
        arm64: pmuv3: use arm_pmu ACPI framework
        arm64: pmuv3: handle !PMUv3 when probing
        drivers/perf: arm_pmu: add ACPI framework
        arm64: add function to get a cpu's MADT GICC table
        drivers/perf: arm_pmu: split out platform device probe logic
        drivers/perf: arm_pmu: move irq request/free into probe
        drivers/perf: arm_pmu: split cpu-local irq request/free
        drivers/perf: arm_pmu: rename irq request/free functions
        drivers/perf: arm_pmu: handle no platform_device
        drivers/perf: arm_pmu: simplify cpu_pmu_request_irqs()
        drivers/perf: arm_pmu: factor out pmu registration
        drivers/perf: arm_pmu: fold init into alloc
        drivers/perf: arm_pmu: define armpmu_init_fn
        ...
      ab182e67
    • M
      dm cache metadata: fail operations if fail_io mode has been established · 10add84e
      Mike Snitzer 提交于
      Otherwise it is possible to trigger crashes due to the metadata being
      inaccessible yet these methods don't safely account for that possibility
      without these checks.
      
      Cc: stable@vger.kernel.org
      Reported-by: NMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      10add84e
    • L
      Merge tag 'powerpc-4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 7246f600
      Linus Torvalds 提交于
      Pull powerpc updates from Michael Ellerman:
       "Highlights include:
      
         - Larger virtual address space on 64-bit server CPUs. By default we
           use a 128TB virtual address space, but a process can request access
           to the full 512TB by passing a hint to mmap().
      
         - Support for the new Power9 "XIVE" interrupt controller.
      
         - TLB flushing optimisations for the radix MMU on Power9.
      
         - Support for CAPI cards on Power9, using the "Coherent Accelerator
           Interface Architecture 2.0".
      
         - The ability to configure the mmap randomisation limits at build and
           runtime.
      
         - Several small fixes and cleanups to the kprobes code, as well as
           support for KPROBES_ON_FTRACE.
      
         - Major improvements to handling of system reset interrupts,
           correctly treating them as NMIs, giving them a dedicated stack and
           using a new hypervisor call to trigger them, all of which should
           aid debugging and robustness.
      
         - Many fixes and other minor enhancements.
      
        Thanks to: Alastair D'Silva, Alexey Kardashevskiy, Alistair Popple,
        Andrew Donnellan, Aneesh Kumar K.V, Anshuman Khandual, Anton
        Blanchard, Balbir Singh, Ben Hutchings, Benjamin Herrenschmidt,
        Bhupesh Sharma, Chris Packham, Christian Zigotzky, Christophe Leroy,
        Christophe Lombard, Daniel Axtens, David Gibson, Gautham R. Shenoy,
        Gavin Shan, Geert Uytterhoeven, Guilherme G. Piccoli, Hamish Martin,
        Hari Bathini, Kees Cook, Laurent Dufour, Madhavan Srinivasan, Mahesh J
        Salgaonkar, Mahesh Salgaonkar, Masami Hiramatsu, Matt Brown, Matthew
        R. Ochs, Michael Neuling, Naveen N. Rao, Nicholas Piggin, Oliver
        O'Halloran, Pan Xinhui, Paul Mackerras, Rashmica Gupta, Russell
        Currey, Sukadev Bhattiprolu, Thadeu Lima de Souza Cascardo, Tobin C.
        Harding, Tyrel Datwyler, Uma Krishnan, Vaibhav Jain, Vipin K Parashar,
        Yang Shi"
      
      * tag 'powerpc-4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (214 commits)
        powerpc/64s: Power9 has no LPCR[VRMASD] field so don't set it
        powerpc/powernv: Fix TCE kill on NVLink2
        powerpc/mm/radix: Drop support for CPUs without lockless tlbie
        powerpc/book3s/mce: Move add_taint() later in virtual mode
        powerpc/sysfs: Move #ifdef CONFIG_HOTPLUG_CPU out of the function body
        powerpc/smp: Document irq enable/disable after migrating IRQs
        powerpc/mpc52xx: Don't select user-visible RTAS_PROC
        powerpc/powernv: Document cxl dependency on special case in pnv_eeh_reset()
        powerpc/eeh: Clean up and document event handling functions
        powerpc/eeh: Avoid use after free in eeh_handle_special_event()
        cxl: Mask slice error interrupts after first occurrence
        cxl: Route eeh events to all drivers in cxl_pci_error_detected()
        cxl: Force context lock during EEH flow
        powerpc/64: Allow CONFIG_RELOCATABLE if COMPILE_TEST
        powerpc/xmon: Teach xmon oops about radix vectors
        powerpc/mm/hash: Fix off-by-one in comment about kernel contexts ids
        powerpc/pseries: Enable VFIO
        powerpc/powernv: Fix iommu table size calculation hook for small tables
        powerpc/powernv: Check kzalloc() return value in pnv_pci_table_alloc
        powerpc: Add arch/powerpc/tools directory
        ...
      7246f600
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · e579dde6
      Linus Torvalds 提交于
      Pull namespace updates from Eric Biederman:
       "This is a set of small fixes that were mostly stumbled over during
        more significant development. This proc fix and the fix to
        posix-timers are the most significant of the lot.
      
        There is a lot of good development going on but unfortunately it
        didn't quite make the merge window"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        proc: Fix unbalanced hard link numbers
        signal: Make kill_proc_info static
        rlimit: Properly call security_task_setrlimit
        signal: Remove unused definition of sig_user_definied
        ia64: Remove unused IA64_TASK_SIGHAND_OFFSET and IA64_SIGHAND_SIGLOCK_OFFSET
        ipc: Remove unused declaration of recompute_msgmni
        posix-timers: Correct sanity check in posix_cpu_nsleep
        sysctl: Remove dead register_sysctl_root
      e579dde6
  3. 05 5月, 2017 21 次提交
    • C
      arm64: Fix the DMA mmap and get_sgtable API with DMA_ATTR_FORCE_CONTIGUOUS · 92f66f84
      Catalin Marinas 提交于
      While honouring the DMA_ATTR_FORCE_CONTIGUOUS on arm64 (commit
      44176bb3: "arm64: Add support for DMA_ATTR_FORCE_CONTIGUOUS to
      IOMMU"), the existing uses of dma_mmap_attrs() and dma_get_sgtable()
      have been broken by passing a physically contiguous vm_struct with an
      invalid pages pointer through the common iommu API.
      
      Since the coherent allocation with DMA_ATTR_FORCE_CONTIGUOUS uses CMA,
      this patch simply reuses the existing swiotlb logic for mmap and
      get_sgtable.
      
      Note that the current implementation of get_sgtable (both swiotlb and
      iommu) is broken if dma_declare_coherent_memory() is used since such
      memory does not have a corresponding struct page. To be addressed in a
      subsequent patch.
      
      Fixes: 44176bb3 ("arm64: Add support for DMA_ATTR_FORCE_CONTIGUOUS to IOMMU")
      Reported-by: NAndrzej Hajda <a.hajda@samsung.com>
      Cc: Geert Uytterhoeven <geert+renesas@glider.be>
      Acked-by: NRobin Murphy <robin.murphy@arm.com>
      Tested-by: NAndrzej Hajda <a.hajda@samsung.com>
      Reviewed-by: NAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      92f66f84
    • F
      befs: make export work with cold dcache · dcfd9b21
      Fabian Frederick 提交于
      based on commit b3b42c0d
      ("fs/affs: make export work with cold dcache")
      
      This adds get_parent function so that nfs client can still work after
      cache drop (Tested on NFS v4 with echo 3 > /proc/sys/vm/drop_caches)
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Signed-off-by: NLuis de Bethencourt <luisbg@osg.samsung.com>
      dcfd9b21
    • S
      initramfs: Always do fput() and load modules after rootfs populate · 17a9be31
      Stafford Horne 提交于
      In OpenRISC we do not have a bootloader passed initrd, but the built in
      initramfs does contain the /init and other binaries, including modules.
      The previous commit 08865514 ("initramfs: finish fput() before
      accessing any binary from initramfs") made a change to only call fput()
      if the bootloader initrd was available, this caused intermittent crashes
      for OpenRISC.
      
      This patch changes the fput() to happen unconditionally if any rootfs is
      loaded. Also, I added some comments to make it a bit more clear why we
      call unpack_to_rootfs() multiple times.
      
      Fixes: 08865514 ("initramfs: finish fput() before accessing any binary from initramfs")
      Cc: stable@vger.kernel.org
      Cc: Lokesh Vutla <lokeshvutla@ti.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Acked-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NStafford Horne <shorne@gmail.com>
      17a9be31
    • D
      Merge branch 'for-4.12/dax' into libnvdimm-for-next · 73616367
      Dan Williams 提交于
      73616367
    • D
      libnvdimm, pfn: fix 'npfns' vs section alignment · d5483fed
      Dan Williams 提交于
      Fix failures to create namespaces due to the vmem_altmap not advertising
      enough free space to store the memmap.
      
       WARNING: CPU: 15 PID: 8022 at arch/x86/mm/init_64.c:656 arch_add_memory+0xde/0xf0
       [..]
       Call Trace:
        dump_stack+0x63/0x83
        __warn+0xcb/0xf0
        warn_slowpath_null+0x1d/0x20
        arch_add_memory+0xde/0xf0
        devm_memremap_pages+0x244/0x440
        pmem_attach_disk+0x37e/0x490 [nd_pmem]
        nd_pmem_probe+0x7e/0xa0 [nd_pmem]
        nvdimm_bus_probe+0x71/0x120 [libnvdimm]
        driver_probe_device+0x2bb/0x460
        bind_store+0x114/0x160
        drv_attr_store+0x25/0x30
      
      In commit 658922e5 "libnvdimm, pfn: fix memmap reservation sizing"
      we arranged for the capacity to be allocated, but failed to also update
      the 'npfns' parameter. This leads to cases where there is enough
      capacity reserved to hold all the allocated sections, but
      vmemmap_populate_hugepages() still encounters -ENOMEM from
      altmap_alloc_block_buf().
      
      This fix is a stop-gap until we can teach the core memory hotplug
      implementation to permit sub-section hotplug.
      
      Cc: <stable@vger.kernel.org>
      Fixes: 658922e5 ("libnvdimm, pfn: fix memmap reservation sizing")
      Reported-by: NAnisha Allada <anisha.allada@intel.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      d5483fed
    • L
      Merge tag 'char-misc-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · af82455f
      Linus Torvalds 提交于
      Pull char/misc driver updates from Greg KH:
       "Here is the big set of new char/misc driver drivers and features for
        4.12-rc1.
      
        There's lots of new drivers added this time around, new firmware
        drivers from Google, more auxdisplay drivers, extcon drivers, fpga
        drivers, and a bunch of other driver updates. Nothing major, except if
        you happen to have the hardware for these drivers, and then you will
        be happy :)
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (136 commits)
        firmware: google memconsole: Fix return value check in platform_memconsole_init()
        firmware: Google VPD: Fix return value check in vpd_platform_init()
        goldfish_pipe: fix build warning about using too much stack.
        goldfish_pipe: An implementation of more parallel pipe
        fpga fr br: update supported version numbers
        fpga: region: release FPGA region reference in error path
        fpga altera-hps2fpga: disable/unprepare clock on error in alt_fpga_bridge_probe()
        mei: drop the TODO from samples
        firmware: Google VPD sysfs driver
        firmware: Google VPD: import lib_vpd source files
        misc: lkdtm: Add volatile to intentional NULL pointer reference
        eeprom: idt_89hpesx: Add OF device ID table
        misc: ds1682: Add OF device ID table
        misc: tsl2550: Add OF device ID table
        w1: Remove unneeded use of assert() and remove w1_log.h
        w1: Use kernel common min() implementation
        uio_mf624: Align memory regions to page size and set correct offsets
        uio_mf624: Refactor memory info initialization
        uio: Allow handling of non page-aligned memory regions
        hangcheck-timer: Fix typo in comment
        ...
      af82455f
    • D
      drm: Document code of conduct · 8676df50
      Daniel Vetter 提交于
      freedesktop.org has adopted a formal&enforced code of conduct:
      
      https://www.fooishbar.org/blog/fdo-contributor-covenant/
      https://www.freedesktop.org/wiki/CodeOfConduct/
      
      Besides formalizing things a bit more I don't think this changes
      anything for us, we've already peer-enforced respectful and
      constructive interactions since a long time. But it's good to document
      things properly.
      
      v2: Drop confusing note from commit message and clarify the grammer
      (Chris, Alex and others).
      
      Cc: Daniel Stone <daniels@collabora.com>
      Cc: Keith Packard <keithp@keithp.com>
      Cc: tfheen@err.no
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: NDaniel Stone <daniels@collabora.com>
      Reviewed-by: NSumit Semwal <sumit.semwal@linaro.org>
      Acked-by: NArchit Taneja <architt@codeaurora.org>
      Reviewed-by: NMartin Peres <martin.peres@free.fr>
      Acked-by: NThierry Reding <treding@nvidia.com>
      Acked-by: NJani Nikula <jani.nikula@intel.com>
      Acked-by: NVincent Abriou <vincent.abriou@st.com>
      Acked-by: NNeil Armstrong <narmstrong@baylibre.com>
      Reviewed-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Acked-by: NBrian Starkey <brian.starkey@arm.com>
      Acked-by: NRob Clark <robdclark@gmail.com>
      Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Acked-by: NSean Paul <seanpaul@chromium.org>
      Reviewed-by: NHarry Wentland <harry.wentland@amd.com>
      Reviewed-by: NEric Anholt <eric@anholt.net>
      Acked-by: NAlex Deucher <alexander.deucher@amd.com>
      Acked-by: NGustavo Padovan <gustavo.padovan@collabora.com>
      Acked-by: NMichel Dänzer <michel.daenzer@amd.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Acked-by: NSumit Semwal <sumit.semwal@linaro.org>
      Acked-by: NKeith Packard <keithp@keithp.com>
      Acked-by: NGabriel Krisman Bertazi <krisman@collabora.co.uk>
      Acked-by: NAdam Jackson <ajax@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      8676df50
    • D
      Merge tag 'drm/tegra/for-4.12-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next · 644b4930
      Dave Airlie 提交于
      drm/tegra: Changes for v4.12-rc1
      
      This contains various fixes to the host1x driver as well as a plug for a
      leak of kernel pointers to userspace.
      
      A fairly big addition this time around is the Video Image Composer (VIC)
      support that can be used to accelerate some 2D and image compositing
      operations.
      
      Furthermore the driver now supports FB modifiers, so we no longer rely
      on a custom IOCTL to set those.
      
      Finally this contains a few preparatory patches for Tegra186 support
      which unfortunately didn't quite make it this time, but will hopefully
      be ready for v4.13.
      
      * tag 'drm/tegra/for-4.12-rc1' of git://anongit.freedesktop.org/tegra/linux:
        gpu: host1x: Fix host1x driver shutdown
        gpu: host1x: Support module reset
        gpu: host1x: Sort includes alphabetically
        drm/tegra: Add VIC support
        dt-bindings: Add bindings for the Tegra VIC
        drm/tegra: Add falcon helper library
        drm/tegra: Add Tegra DRM allocation API
        drm/tegra: Add tiling FB modifiers
        drm/tegra: Don't leak kernel pointer to userspace
        drm/tegra: Protect IOMMU operations by mutex
        drm/tegra: Enable IOVA API when IOMMU support is enabled
        gpu: host1x: Add IOMMU support
        gpu: host1x: Fix potential out-of-bounds access
        iommu/iova: Fix compile error with CONFIG_IOMMU_IOVA=m
        iommu: Add dummy implementations for !IOMMU_IOVA
        MAINTAINERS: Add related headers to IOMMU section
        iommu/iova: Consolidate code for adding new node to iovad domain rbtree
      644b4930
    • L
      Merge tag 'driver-core-4.12-rc1' of... · 0be75179
      Linus Torvalds 提交于
      Merge tag 'driver-core-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Very tiny pull request for 4.12-rc1 for the driver core this time
        around.
      
        There are some documentation fixes, an eventpoll.h fixup to make it
        easier for the libc developers to take our header files directly, and
        some very minor driver core fixes and changes.
      
        All have been in linux-next for a very long time with no reported
        issues"
      
      * tag 'driver-core-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        Revert "kref: double kref_put() in my_data_handler()"
        driver core: don't initialize 'parent' in device_add()
        drivers: base: dma-mapping: use nth_page helper
        Documentation/ABI: add information about cpu_capacity
        debugfs: set no_llseek in DEFINE_DEBUGFS_ATTRIBUTE
        eventpoll.h: add missing epoll event masks
        eventpoll.h: fix epoll event masks
      0be75179
    • L
      Merge tag 'usb-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 8f28472a
      Linus Torvalds 提交于
      Pull USB updates from Greg KH:
       "Here is the big USB patchset for 4.12-rc1.
      
        Lots of good stuff here, after many many many attempts, the kernel
        finally has a working typeC interface, many thanks to Heikki and
        Guenter and others who have taken the time to get this merged. It
        wasn't an easy path for them at all.
      
        There's also a staging driver that uses this new api, which is why
        it's coming in through this tree.
      
        Along with that, there's the usual huge number of changes for gadget
        drivers, xhci, and other stuff. Johan also finally refactored pretty
        much every driver that was looking at USB endpoints to do it in a
        common way, which will help prevent any "badly-formed" devices from
        causing problems in drivers. That too wasn't a simple task.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (263 commits)
        staging: typec: Fairchild FUSB302 Type-c chip driver
        staging: typec: Type-C Port Controller Interface driver (tcpci)
        staging: typec: USB Type-C Port Manager (tcpm)
        usb: host: xhci: remove #ifdef around PM functions
        usb: musb: don't mark of_dev_auxdata as initdata
        usb: misc: legousbtower: Fix buffers on stack
        USB: Revert "cdc-wdm: fix "out-of-sync" due to missing notifications"
        usb: Make sure usb/phy/of gets built-in
        USB: storage: e-mail update in drivers/usb/storage/unusual_devs.h
        usb: host: xhci: print correct command ring address
        usb: host: xhci: delete sp_dma_buffers for scratchpad
        usb: host: xhci: using correct specification chapter reference for DCBAAP
        xhci: switch to pci_alloc_irq_vectors
        usb: host: xhci-plat: set resume_quirk() for R-Car controllers
        usb: host: xhci-plat: add resume_quirk()
        usb: host: xhci-plat: enable clk in resume timing
        usb: host: plat: Enable xHCI plat runtime PM
        USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
        USB: serial: constify static arrays
        usb: fix some references for /proc/bus/usb
        ...
      8f28472a
    • D
      libnvdimm: handle locked label storage areas · 9d62ed96
      Dan Williams 提交于
      Per the latest version of the "NVDIMM DSM Interface Example" [1], the
      label data retrieval routine can report a "locked" status. In this case
      all regions associated with that DIMM are disabled until the label area
      is unlocked. Provide generic libnvdimm enabling for NVDIMMs with label
      data area locking capabilities.
      
      [1]: http://pmem.io/documents/Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      9d62ed96
    • D
      libnvdimm: convert NDD_ flags to use bitops, introduce NDD_LOCKED · 8f078b38
      Dan Williams 提交于
      This is a preparation patch for handling locked nvdimm label regions, a
      new concept as introduced by the latest DSM document on pmem.io [1]. A
      future patch will leverage nvdimm_set_locked() at DIMM probe time to
      flag regions that can not be enabled. There should be no functional
      difference resulting from this change.
      
      [1]: http://pmem.io/documents/NVDIMM_DSM_Interface_Example-V1.3.pdfSigned-off-by: NDan Williams <dan.j.williams@intel.com>
      8f078b38
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 4ac4d584
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) The wireless rate info fix from Johannes Berg.
      
       2) When a RAW socket is in hdrincl mode, we need to make sure that the
          user provided at least a minimally sized ipv4/ipv6 header. Fix from
          Alexander Potapenko.
      
       3) We must emit IFLA_PHYS_PORT_NAME netlink attributes using
          nla_put_string() so that it is NULL terminated.
      
       4) Fix a bug in TCP fastopen handling, wherein child sockets
          erroneously inherit the fastopen_req from the parent, and later can
          end up derefencing freed memory or doing a double free. From Eric
          Dumazet.
      
       5) Don't clear out netdev stats at close time in tg3 driver, from
          YueHaibing.
      
       6) Fix refcount leak in xt_CT, from Gao Feng.
      
       7) In nft_set_bitmap() don't leak dummy elements, from Liping Zhang.
      
       8) Fix deadlock due to taking the expectation lock twice, also from
          Liping Zhang.
      
       9) Make xt_socket work again with ipv6, from Peter Tirsek.
      
      10) Don't allow IPV6 to be used with IPVS if ipv6.disable=1, from Paolo
          Abeni.
      
      11) Make the BPF loader more flexible wrt. changes to the bpf MAP entry
          layout. From Jesper Dangaard Brouer.
      
      12) Fix ethtool reported device name in aquantia driver, from Pavel
          Belous.
      
      13) Fix build failures due to the compile time size test not working in
          netfilter conntrack. From Geert Uytterhoeven.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits)
        cfg80211: make RATE_INFO_BW_20 the default
        ipv6: initialize route null entry in addrconf_init()
        qede: Fix possible misconfiguration of advertised autoneg value.
        qed: Fix overriding of supported autoneg value.
        qed*: Fix possible overflow for status block id field.
        rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string
        netvsc: make sure napi enabled before vmbus_open
        aquantia: Fix driver name reported by ethtool
        ipv4, ipv6: ensure raw socket message is big enough to hold an IP header
        net/sched: remove redundant null check on head
        tcp: do not inherit fastopen_req from parent
        forcedeth: remove unnecessary carrier status check
        ibmvnic: Move queue restarting in ibmvnic_tx_complete
        ibmvnic: Record SKB RX queue during poll
        ibmvnic: Continue skb processing after skb completion error
        ibmvnic: Check for driver reset first in ibmvnic_xmit
        ibmvnic: Wait for any pending scrqs entries at driver close
        ibmvnic: Clean up tx pools when closing
        ibmvnic: Whitespace correction in release_rx_pools
        ibmvnic: Delete napi's when releasing driver resources
        ...
      4ac4d584
    • L
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 8d5e72df
      Linus Torvalds 提交于
      Pull SCSI updates from James Bottomley:
       "This update includes the usual round of major driver updates
        (hisi_sas, ufs, fnic, cxlflash, be2iscsi, ipr, stex). There's also the
        usual amount of cosmetic and spelling stuff"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (155 commits)
        scsi: qla4xxx: fix spelling mistake: "Tempalate" -> "Template"
        scsi: stex: make S6flag static
        scsi: mac_esp: fix to pass correct device identity to free_irq()
        scsi: aacraid: pci_alloc_consistent() failures on ARM64
        scsi: ufs: make ufshcd_get_lists_status() register operation obvious
        scsi: ufs: use MASK_EE_STATUS
        scsi: mac_esp: Replace bogus memory barrier with spinlock
        scsi: fcoe: make fcoe_e_d_tov and fcoe_r_a_tov static
        scsi: sd_zbc: Do not write lock zones for reset
        scsi: sd_zbc: Remove superfluous assignments
        scsi: sd: sd_zbc: Rename sd_zbc_setup_write_cmnd
        scsi: Improve scsi_get_sense_info_fld
        scsi: sd: Cleanup sd_done sense data handling
        scsi: sd: Improve sd_completed_bytes
        scsi: sd: Fix function descriptions
        scsi: mpt3sas: remove redundant wmb
        scsi: mpt: Move scsi_remove_host() out of mptscsih_remove_host()
        scsi: sg: reset 'res_in_use' after unlinking reserved array
        scsi: mvumi: remove code handling zero scsi_sg_count(scmd) case
        scsi: fusion: fix spelling mistake: "Persistancy" -> "Persistency"
        ...
      8d5e72df
    • L
      Merge tag 'gpio-v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 2bd80401
      Linus Torvalds 提交于
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v4.12 kernel cycle.
      
        Core changes:
      
         - Return NULL from gpiod_get_optional() when GPIOLIB is disabled.
           This was a much discussed change. It affects use cases where people
           write drivers that might or might not be using GPIO resources. I
           have decided that this is the lesser evil right now.
      
         - Make gpiod_count() behave consistently across different hardware
           descriptions.
      
         - Fix the syntax around open drain/open source to not infer active
           high/low semantics.
      
        New drivers:
      
         - A new single-register fixed-direction framework driver for hardware
           that have lines controlled by a single register that just work in
           one direction (out or in), including IRQ support.
      
         - Support the Fintek F71889A GPIO SuperIO controller.
      
         - Support the National NI 169445 MMIO GPIO.
      
         - Support for the X-Gene derivative of the DWC GPIO controller
      
         - Support for the Rohm BD9571MWV-M PMIC GPIO controller.
      
         - Refactor the Gemini GPIO driver to a generic Faraday FTGPIO driver
           and replace both the Gemini and the Moxa ART custom drivers with
           this driver.
      
        Driver improvements:
      
         - A whole slew of drivers have their spinlocks chaned to raw
           spinlocks as they provide irqchips, and thus we are progressing on
           realtime compliance.
      
         - Use devm_irq_alloc_descs() in a slew of drivers, getting managed
           resources.
      
         - Support for the embedded PWM controller inside the MVEBU driver.
      
         - Debounce, open source and open drain support for the Aspeed driver.
      
         - Misc smaller fixes like spelling and syntax and whatnot"
      
      * tag 'gpio-v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (77 commits)
        gpio: f7188x: Add a missing break
        gpio: omap: return error if requested debounce time is not possible
        gpio: Add ROHM BD9571MWV-M PMIC GPIO driver
        gpio: gpio-wcove: fix GPIO IRQ status mask
        gpio: DT bindings, move tca9554 from pcf857x to pca953x
        gpio: move tca9554 from pcf857x to pca953x
        gpio: arizona: Correct check whether the pin is an input
        gpio: Add XRA1403 DTS binding documentation
        dt-bindings: add exar to vendor prefixes list
        gpio: gpio-wcove: fix irq pending status bit width
        gpio: dwapb: use dwapb_read instead of readl_relaxed
        gpio: aspeed: Add open-source and open-drain support
        gpio: aspeed: Add debounce support
        gpio: aspeed: dt: Add optional clocks property
        gpio: aspeed: dt: Fix description alignment in bindings document
        gpio: mvebu: Add limited PWM support
        gpio: Use unsigned int for interrupt numbers
        gpio: f7188x: Add F71889A GPIO support.
        gpio: core: Decouple open drain/source flag with active low/high
        gpio: arizona: Correct handling for reading input GPIOs
        ...
      2bd80401
    • R
      of: fix sparse warnings in fdt, irq, reserved mem, and resolver code · 17a70355
      Rob Herring 提交于
      sparse generates the following warnings in drivers/of/:
      
      ../drivers/of/fdt.c:63:36: warning: cast to restricted __be32
      ../drivers/of/fdt.c:68:33: warning: cast to restricted __be32
      ../drivers/of/irq.c:105:88: warning: incorrect type in initializer (different base types)
      ../drivers/of/irq.c:105:88:    expected restricted __be32
      ../drivers/of/irq.c:105:88:    got int
      ../drivers/of/irq.c:526:35: warning: incorrect type in assignment (different modifiers)
      ../drivers/of/irq.c:526:35:    expected int ( *const [usertype] irq_init_cb )( ... )
      ../drivers/of/irq.c:526:35:    got void const *const data
      ../drivers/of/of_reserved_mem.c:200:50: warning: incorrect type in initializer (different modifiers)
      ../drivers/of/of_reserved_mem.c:200:50:    expected int ( *[usertype] initfn )( ... )
      ../drivers/of/of_reserved_mem.c:200:50:    got void const *const data
      ../drivers/of/resolver.c:95:42: warning: incorrect type in assignment (different base types)
      ../drivers/of/resolver.c:95:42:    expected unsigned int [unsigned] [usertype] <noident>
      ../drivers/of/resolver.c:95:42:    got restricted __be32 [usertype] <noident>
      
      All these are harmless type mismatches fixed by adjusting the types.
      Signed-off-by: NRob Herring <robh@kernel.org>
      17a70355
    • L
      Merge tag 'platform-drivers-x86-v4.12-1' of git://git.infradead.org/linux-platform-drivers-x86 · 99a7583d
      Linus Torvalds 提交于
      Pull x86 platform-drivers update from Darren Hart:
       "This represents a significantly larger and more complex set of changes
        than those of prior merge windows.
      
        In particular, we had several changes with dependencies on other
        subsystems which we felt were best managed through merges of immutable
        branches, including one each from input, i2c, and leds. Two patches
        for the watchdog subsystem are included after discussion with Wim and
        Guenter following a collision in linux-next (this should be resolved
        and you should only see these two appear in this pull request). These
        are called out in the "External" section below.
      
        Summary of changes:
         - significant further cleanup of fujitsu-laptop and hp-wmi
         - new model support for ideapad, asus, silead, and xiaomi
         - new hotkeys for thinkpad and models using intel-vbtn
         - dell keyboard backlight improvements
         - build and dependency improvements
         - intel * ipc fixes, cleanups, and api updates
         - single isolated fixes noted below
      
        External:
         - watchdog: iTCO_wdt: Add PMC specific noreboot update api
         - watchdog: iTCO_wdt: cleanup set/unset no_reboot_bit functions
         - Merge branch 'ib/4.10-sparse-keymap-managed'
         - Merge branch 'i2c/for-INT33FE'
         - Merge branch 'linux-leds/dell-laptop-changes-for-4.12'
      
        platform/x86:
         - Add Intel Cherry Trail ACPI INT33FE device driver
         - remove sparse_keymap_free() calls
         - Make SILEAD_DMI depend on TOUCHSCREEN_SILEAD
      
        asus-wmi:
         - try to set als by default
         - fix cpufv sysfs file permission
      
        acer-wmi:
         - setup accelerometer when ACPI device was found
      
        ideapad-laptop:
         - Add IdeaPad V310-15ISK to no_hw_rfkill
         - Add IdeaPad 310-15IKB to no_hw_rfkill
      
        intel_pmc_ipc:
         - use gcr mem base for S0ix counter read
         - Fix iTCO_wdt GCS memory mapping failure
         - Add pmc gcr read/write/update api's
         - fix gcr offset
      
        dell-laptop:
         - Add keyboard backlight timeout AC settings
         - Handle return error form dell_get_intensity.
         - Protect kbd_state against races
         - Refactor kbd_led_triggers_store()
      
        hp-wireless:
         - reuse module_acpi_driver
         - add Xiaomi's hardware id to the supported list
      
        intel-vbtn:
         - add volume up and down
      
        INT33FE:
         - add i2c dependency
      
        hp-wmi:
         - Cleanup exit paths
         - Do not shadow errors in sysfs show functions
         - Use DEVICE_ATTR_(RO|RW) helper macros
         - Refactor dock and tablet state fetchers
         - Cleanup wireless get_(hw|sw)state functions
         - Refactor redundant HPWMI_READ functions
         - Standardize enum usage for constants
         - Cleanup local variable declarations
         - Do not shadow error values
         - Fix detection for dock and tablet mode
         - Fix error value for hp_wmi_tablet_state
      
        fujitsu-laptop:
         - simplify error handling in acpi_fujitsu_laptop_add()
         - do not log LED registration failures
         - switch to managed LED class devices
         - reorganize LED-related code
         - refactor LED registration
         - select LEDS_CLASS
         - remove redundant fields from struct fujitsu_bl
         - account for backlight power when determining brightness
         - do not log set_lcd_level() failures in bl_update_status()
         - ignore errors when setting backlight power
         - make disable_brightness_adjust a boolean
         - clean up use_alt_lcd_levels handling
         - sync brightness in set_lcd_level()
         - simplify set_lcd_level()
         - merge set_lcd_level_alt() into set_lcd_level()
         - switch to a managed backlight device
         - only handle backlight when appropriate
         - update debug message logged by call_fext_func()
         - rename call_fext_func() arguments
         - simplify call_fext_func()
         - clean up local variables in call_fext_func()
         - remove keycode fields from struct fujitsu_bl
         - model-dependent sparse keymap overrides
         - use a sparse keymap for hotkey event generation
         - switch to a managed hotkey input device
         - refactor hotkey input device setup
         - use a sparse keymap for brightness key events
         - switch to a managed backlight input device
         - refactor backlight input device setup
         - remove pf_device field from struct fujitsu_bl
         - only register platform device if FUJ02E3 is present
         - add and remove platform device in separate functions
         - simplify platform device attribute definitions
         - remove backlight-related attributes from the platform device
         - cleanup error labels in fujitsu_init()
         - only register backlight device if FUJ02B1 is present
         - sync backlight power status in acpi_fujitsu_laptop_add()
         - register backlight device in a separate function
         - simplify brightness key event generation logic
         - decrease indentation in acpi_fujitsu_bl_notify()
      
        intel-hid:
         - Add missing ->thaw callback
         - do not set parents of input devices explicitly
         - remove redundant set_bit() call
         - use devm_input_allocate_device() for HID events input device
         - make intel_hid_set_enable() take a boolean argument
         - simplify enabling/disabling HID events
      
        silead_dmi:
         - Add touchscreen info for Surftab Wintron 7.0
         - Abort early if DMI does not match
         - Do not treat all devices as i2c_clients
         - Add entry for Insyde 7W tablets
         - Constify properties arrays
      
        intel_scu_ipc:
         - Introduce intel_scu_ipc_raw_command()
         - Introduce SCU_DEVICE() macro
         - Remove redundant subarch check
         - Rearrange init sequence
         - Platform data is mandatory
      
        asus-nb-wmi:
         - Add wapf4 quirk for the X302UA
      
        dell-*:
         - Call new led hw_changed API on kbd brightness change
         - Add a generic dell-laptop notifier chain
      
        eeepc-laptop:
         - Skip unknown key messages 0x50 0x51
      
        thinkpad_acpi:
         - add mapping for new hotkeys
         - guard generic hotkey case"
      
      * tag 'platform-drivers-x86-v4.12-1' of git://git.infradead.org/linux-platform-drivers-x86: (108 commits)
        platform/x86: Make SILEAD_DMI depend on TOUCHSCREEN_SILEAD
        platform/x86: asus-wmi: try to set als by default
        platform/x86: asus-wmi: fix cpufv sysfs file permission
        platform/x86: acer-wmi: setup accelerometer when ACPI device was found
        platform/x86: ideapad-laptop: Add IdeaPad V310-15ISK to no_hw_rfkill
        platform/x86: intel_pmc_ipc: use gcr mem base for S0ix counter read
        platform/x86: intel_pmc_ipc: Fix iTCO_wdt GCS memory mapping failure
        watchdog: iTCO_wdt: Add PMC specific noreboot update api
        watchdog: iTCO_wdt: cleanup set/unset no_reboot_bit functions
        platform/x86: intel_pmc_ipc: Add pmc gcr read/write/update api's
        platform/x86: intel_pmc_ipc: fix gcr offset
        platform/x86: dell-laptop: Add keyboard backlight timeout AC settings
        platform/x86: dell-laptop: Handle return error form dell_get_intensity.
        platform/x86: hp-wireless: reuse module_acpi_driver
        platform/x86: intel-vbtn: add volume up and down
        platform/x86: INT33FE: add i2c dependency
        platform/x86: hp-wmi: Cleanup exit paths
        platform/x86: hp-wmi: Do not shadow errors in sysfs show functions
        platform/x86: hp-wmi: Use DEVICE_ATTR_(RO|RW) helper macros
        platform/x86: hp-wmi: Refactor dock and tablet state fetchers
        ...
      99a7583d
    • L
      Merge tag 'vfio-v4.12-rc1' of git://github.com/awilliam/linux-vfio · c336bf8e
      Linus Torvalds 提交于
      Pull VFIO updates from Alex Williamson:
      
       - Updates for SPAPR IOMMU backend including compatibility test and
         memory allocation check (Alexey Kardashevskiy)
      
       - Updates for type1 IOMMU backend to remove asynchronous locked page
         accounting and remove redundancy (Alex Williamson)
      
      * tag 'vfio-v4.12-rc1' of git://github.com/awilliam/linux-vfio:
        vfio/type1: Reduce repetitive calls in vfio_pin_pages_remote()
        vfio/type1: Prune vfio_pin_page_external()
        vfio/type1: Remove locked page accounting workqueue
        vfio/spapr_tce: Check kzalloc() return when preregistering memory
        vfio/powerpc/spapr_tce: Enforce IOMMU type compatibility check
      c336bf8e
    • M
      orangefs: count directory pieces correctly · 2f713b5c
      Martin Brandenburg 提交于
      A large directory full of differently sized file names triggered this.
      Most directories, even very large directories with shorter names, would
      be lucky enough to fit in one server response.
      Signed-off-by: NMartin Brandenburg <martin@omnibond.com>
      Signed-off-by: NMike Marshall <hubcap@omnibond.com>
      2f713b5c
    • M
      orangefs: invalidate stored directory on seek · 942835d6
      Martin Brandenburg 提交于
      If an application seeks to a position before the point which has been
      read, it must want updates which have been made to the directory.  So
      delete the copy stored in the kernel so it will be fetched again.
      Signed-off-by: NMartin Brandenburg <martin@omnibond.com>
      Signed-off-by: NMike Marshall <hubcap@omnibond.com>
      942835d6
    • M
      orangefs: skip forward to the next directory entry if seek is short · bf15ba7c
      Martin Brandenburg 提交于
      If userspace seeks to a position in the stream which is not correct, it
      would have returned EIO because the data in the buffer at that offset
      would be incorrect.  This and the userspace daemon returning a corrupt
      directory are indistinguishable.
      
      Now if the data does not look right, skip forward to the next chunk and
      try again.  The motivation is that if the directory changes, an
      application may seek to a position that was valid and no longer is valid.
      
      It is not yet possible for a directory to change.
      Signed-off-by: NMartin Brandenburg <martin@omnibond.com>
      Signed-off-by: NMike Marshall <hubcap@omnibond.com>
      bf15ba7c