1. 02 11月, 2018 14 次提交
    • L
      Merge tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojeda/linux · e468f5c0
      Linus Torvalds 提交于
      Pull compiler attribute updates from Miguel Ojeda:
       "This is an effort to disentangle the include/linux/compiler*.h headers
        and bring them up to date.
      
        The main idea behind the series is to use feature checking macros
        (i.e. __has_attribute) instead of compiler version checks (e.g.
        GCC_VERSION), which are compiler-agnostic (so they can be shared,
        reducing the size of compiler-specific headers) and version-agnostic.
      
        Other related improvements have been performed in the headers as well,
        which on top of the use of __has_attribute it has amounted to a
        significant simplification of these headers (e.g. GCC_VERSION is now
        only guarding a few non-attribute macros).
      
        This series should also help the efforts to support compiling the
        kernel with clang and icc. A fair amount of documentation and comments
        have also been added, clarified or removed; and the headers are now
        more readable, which should help kernel developers in general.
      
        The series was triggered due to the move to gcc >= 4.6. In turn, this
        series has also triggered Sparse to gain the ability to recognize
        __has_attribute on its own.
      
        Finally, the __nonstring variable attribute series has been also
        applied on top; plus two related patches from Nick Desaulniers for
        unreachable() that came a bit afterwards"
      
      * tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojeda/linux:
        compiler-gcc: remove comment about gcc 4.5 from unreachable()
        compiler.h: update definition of unreachable()
        Compiler Attributes: ext4: remove local __nonstring definition
        Compiler Attributes: auxdisplay: panel: use __nonstring
        Compiler Attributes: enable -Wstringop-truncation on W=1 (gcc >= 8)
        Compiler Attributes: add support for __nonstring (gcc >= 8)
        Compiler Attributes: add MAINTAINERS entry
        Compiler Attributes: add Doc/process/programming-language.rst
        Compiler Attributes: remove uses of __attribute__ from compiler.h
        Compiler Attributes: KENTRY used twice the "used" attribute
        Compiler Attributes: use feature checks instead of version checks
        Compiler Attributes: add missing SPDX ID in compiler_types.h
        Compiler Attributes: remove unneeded sparse (__CHECKER__) tests
        Compiler Attributes: homogenize __must_be_array
        Compiler Attributes: remove unneeded tests
        Compiler Attributes: always use the extra-underscores syntax
        Compiler Attributes: remove unused attributes
      e468f5c0
    • L
      Merge branch 'next-keys2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · baa888d2
      Linus Torvalds 提交于
      Pull keys updates from James Morris:
       "Provide five new operations in the key_type struct that can be used to
        provide access to asymmetric key operations. These will be implemented
        for the asymmetric key type in a later patch and may refer to a key
        retained in RAM by the kernel or a key retained in crypto hardware.
      
           int (*asym_query)(const struct kernel_pkey_params *params,
                             struct kernel_pkey_query *info);
           int (*asym_eds_op)(struct kernel_pkey_params *params,
                              const void *in, void *out);
           int (*asym_verify_signature)(struct kernel_pkey_params *params,
                                        const void *in, const void *in2);
      
        Since encrypt, decrypt and sign are identical in their interfaces,
        they're rolled together in the asym_eds_op() operation and there's an
        operation ID in the params argument to distinguish them.
      
        Verify is different in that we supply the data and the signature
        instead and get an error value (or 0) as the only result on the
        expectation that this may well be how a hardware crypto device may
        work"
      
      * 'next-keys2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (22 commits)
        KEYS: asym_tpm: Add support for the sign operation [ver #2]
        KEYS: asym_tpm: Implement tpm_sign [ver #2]
        KEYS: asym_tpm: Implement signature verification [ver #2]
        KEYS: asym_tpm: Implement the decrypt operation [ver #2]
        KEYS: asym_tpm: Implement tpm_unbind [ver #2]
        KEYS: asym_tpm: Add loadkey2 and flushspecific [ver #2]
        KEYS: Move trusted.h to include/keys [ver #2]
        KEYS: trusted: Expose common functionality [ver #2]
        KEYS: asym_tpm: Implement encryption operation [ver #2]
        KEYS: asym_tpm: Implement pkey_query [ver #2]
        KEYS: Add parser for TPM-based keys [ver #2]
        KEYS: asym_tpm: extract key size & public key [ver #2]
        KEYS: asym_tpm: add skeleton for asym_tpm [ver #2]
        crypto: rsa-pkcs1pad: Allow hash to be optional [ver #2]
        KEYS: Implement PKCS#8 RSA Private Key parser [ver #2]
        KEYS: Implement encrypt, decrypt and sign for software asymmetric key [ver #2]
        KEYS: Allow the public_key struct to hold a private key [ver #2]
        KEYS: Provide software public key query function [ver #2]
        KEYS: Make the X.509 and PKCS7 parsers supply the sig encoding type [ver #2]
        KEYS: Provide missing asymmetric key subops for new key type ops [ver #2]
        ...
      baa888d2
    • L
      Merge tag 'ovl-update-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 7260935d
      Linus Torvalds 提交于
      Pull overlayfs updates from Miklos Szeredi:
       "A mix of fixes and cleanups"
      
      * tag 'ovl-update-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: automatically enable redirect_dir on metacopy=on
        ovl: check whiteout in ovl_create_over_whiteout()
        ovl: using posix_acl_xattr_size() to get size instead of posix_acl_to_xattr()
        ovl: abstract ovl_inode lock with a helper
        ovl: remove the 'locked' argument of ovl_nlink_{start,end}
        ovl: relax requirement for non null uuid of lower fs
        ovl: fold copy-up helpers into callers
        ovl: untangle copy up call chain
        ovl: relax permission checking on underlying layers
        ovl: fix recursive oi->lock in ovl_link()
        vfs: fix FIGETBSZ ioctl on an overlayfs file
        ovl: clean up error handling in ovl_get_tmpfile()
        ovl: fix error handling in ovl_verify_set_fh()
      7260935d
    • L
      Merge tag 'devicetree-fixes-for-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 34c7685a
      Linus Torvalds 提交于
      Pull Devicetree fixes from Rob Herring:
      
       - fix cpu node iterator for powerpc systems
      
       - clarify ARM CPU binding 'capacities-dmips-mhz' property calculations
      
      * tag 'devicetree-fixes-for-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of: Fix cpu node iterator to not ignore disabled cpu nodes
        dt-bindings: arm: Explain capacities-dmips-mhz calculations in example
      34c7685a
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · b5b1de35
      Linus Torvalds 提交于
      Pull virtio/vhost updates from Michael Tsirkin:
       "Fixes and tweaks:
      
         - virtio balloon page hinting support
      
         - vhost scsi control queue
      
         - misc fixes"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        MAINTAINERS: remove reference to bogus vsock file
        vhost/scsi: Use common handling code in request queue handler
        vhost/scsi: Extract common handling code from control queue handler
        vhost/scsi: Respond to control queue operations
        vhost/scsi: truncate T10 PI iov_iter to prot_bytes
        virtio-balloon: VIRTIO_BALLOON_F_PAGE_POISON
        mm/page_poison: expose page_poisoning_enabled to kernel modules
        virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT
        kvm_config: add CONFIG_VIRTIO_MENU
      b5b1de35
    • L
      Merge tag 'xtensa-20181101' of git://github.com/jcmvbkbc/linux-xtensa · 90de1fb8
      Linus Torvalds 提交于
      Pull Xtensa fixes and cleanups from Max Filippov:
      
       - use ZONE_NORMAL instead of ZONE_DMA
      
       - fix Image.elf build error caused by assignment of incorrect address
         to the .note.Linux section
      
       - clean up debug and property sections in the vmlinux.lds.S
      
      * tag 'xtensa-20181101' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: clean up xtensa-specific property sections
        xtensa: use DWARF_DEBUG in the vmlinux.lds.S
        xtensa: add NOTES section to the linker script
        xtensa: remove ZONE_DMA
      90de1fb8
    • R
      of: Fix cpu node iterator to not ignore disabled cpu nodes · c961cb3b
      Rob Herring 提交于
      In most cases, nodes with 'status = "disabled";' are treated as if the
      node is not present though it is a common bug to forget to check that.
      However, cpu nodes are different in that "disabled" simply means offline
      and the OS can bring the CPU core online. Commit f1f207e4 ("of: Add
      cpu node iterator for_each_of_cpu_node()") followed the common behavior
      of ignoring disabled cpu nodes. This breaks some powerpc systems (at
      least NXP P50XX/e5500). Fix this by dropping the status check.
      
      Fixes: 651d44f9 ("of: use for_each_of_cpu_node iterator")
      Fixes: f1f207e4 ("of: Add cpu node iterator for_each_of_cpu_node()")
      Reported-by: NChristian Zigotzky <chzigotzky@xenosoft.de>
      Tested-by: NMichael Ellerman <mpe@ellerman.id.au>
      Cc: Frank Rowand <frowand.list@gmail.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      c961cb3b
    • M
      ovl: automatically enable redirect_dir on metacopy=on · d47748e5
      Miklos Szeredi 提交于
      Current behavior is to automatically disable metacopy if redirect_dir is
      not enabled and proceed with the mount.
      
      If "metacopy=on" mount option was given, then this behavior can confuse the
      user: no mount failure, yet metacopy is disabled.
      
      This patch makes metacopy=on imply redirect_dir=on.
      
      The converse is also true: turning off full redirect with redirect_dir=
      {off|follow|nofollow} will disable metacopy.
      
      If both metacopy=on and redirect_dir={off|follow|nofollow} is specified,
      then mount will fail, since there's no way to correctly resolve the
      conflict.
      Reported-by: NDaniel Walsh <dwalsh@redhat.com>
      Fixes: d5791044 ("ovl: Provide a mount option metacopy=on/off...")
      Cc: <stable@vger.kernel.org> # v4.19
      Signed-off-by: NMiklos Szeredi <mszeredi@redhat.com>
      d47748e5
    • L
      Merge tag 'stackleak-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 2d6bb6ad
      Linus Torvalds 提交于
      Pull stackleak gcc plugin from Kees Cook:
       "Please pull this new GCC plugin, stackleak, for v4.20-rc1. This plugin
        was ported from grsecurity by Alexander Popov. It provides efficient
        stack content poisoning at syscall exit. This creates a defense
        against at least two classes of flaws:
      
         - Uninitialized stack usage. (We continue to work on improving the
           compiler to do this in other ways: e.g. unconditional zero init was
           proposed to GCC and Clang, and more plugin work has started too).
      
         - Stack content exposure. By greatly reducing the lifetime of valid
           stack contents, exposures via either direct read bugs or unknown
           cache side-channels become much more difficult to exploit. This
           complements the existing buddy and heap poisoning options, but
           provides the coverage for stacks.
      
        The x86 hooks are included in this series (which have been reviewed by
        Ingo, Dave Hansen, and Thomas Gleixner). The arm64 hooks have already
        been merged through the arm64 tree (written by Laura Abbott and
        reviewed by Mark Rutland and Will Deacon).
      
        With VLAs having been removed this release, there is no need for
        alloca() protection, so it has been removed from the plugin"
      
      * tag 'stackleak-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        arm64: Drop unneeded stackleak_check_alloca()
        stackleak: Allow runtime disabling of kernel stack erasing
        doc: self-protection: Add information about STACKLEAK feature
        fs/proc: Show STACKLEAK metrics in the /proc file system
        lkdtm: Add a test for STACKLEAK
        gcc-plugins: Add STACKLEAK plugin for tracking the kernel stack
        x86/entry: Add STACKLEAK erasing the kernel stack at the end of syscalls
      2d6bb6ad
    • L
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 7c6c54b5
      Linus Torvalds 提交于
      Pull i2c fixes from Wolfram Sang:
       "I2C has a core bugfix & cleanup as well as an ID addition and
        MAINTAINERS update for you"
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        MAINTAINERS: add maintainer for IMX LPI2C driver
        dt-bindings: i2c: i2c-imx-lpi2c: add imx8qxp compatible string
        i2c: Clear client->irq in i2c_device_remove
        i2c: Remove unnecessary call to irq_find_mapping
      7c6c54b5
    • L
      Merge branch 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu · 6444ccfd
      Linus Torvalds 提交于
      Pull percpu fixes from Dennis Zhou:
       "Two small things for v4.20.
      
        The first fixes a clang uninitialized variable warning for arm64 in
        the default path calls BUILD_BUG(). The second removes an unnecessary
        unlikely() in a WARN_ON() use"
      
      * 'for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu:
        arm64: percpu: Initialize ret in the default case
        mm: percpu: remove unnecessary unlikely()
      6444ccfd
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 82aa4671
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) BPF verifier fixes from Daniel Borkmann.
      
       2) HNS driver fixes from Huazhong Tan.
      
       3) FDB only works for ethernet devices, reject attempts to install FDB
          rules for others. From Ido Schimmel.
      
       4) Fix spectre V1 in vhost, from Jason Wang.
      
       5) Don't pass on-stack object to irq_set_affinity_hint() in mvpp2
          driver, from Marc Zyngier.
      
       6) Fix mlx5e checksum handling when RXFCS is enabled, from Eric
          Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (49 commits)
        openvswitch: Fix push/pop ethernet validation
        net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules
        bpf: test make sure to run unpriv test cases in test_verifier
        bpf: add various test cases to test_verifier
        bpf: don't set id on after map lookup with ptr_to_map_val return
        bpf: fix partial copy of map_ptr when dst is scalar
        libbpf: Fix compile error in libbpf_attach_type_by_name
        kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists
        selftests: mlxsw: qos_mc_aware: Add a test for UC awareness
        selftests: mlxsw: qos_mc_aware: Tweak for min shaper
        mlxsw: spectrum: Set minimum shaper on MC TCs
        mlxsw: reg: QEEC: Add minimum shaper fields
        net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset()
        net: hns3: bugfix for rtnl_lock's range in the hclge_reset()
        net: hns3: bugfix for handling mailbox while the command queue reinitialized
        net: hns3: fix incorrect return value/type of some functions
        net: hns3: bugfix for hclge_mdio_write and hclge_mdio_read
        net: hns3: bugfix for is_valid_csq_clean_head()
        net: hns3: remove unnecessary queue reset in the hns3_uninit_all_ring()
        net: hns3: bugfix for the initialization of command queue's spin lock
        ...
      82aa4671
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · ffb845db
      Linus Torvalds 提交于
      Pull sparc fixes from David Miller:
       "Two small fixes"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Wire up compat getpeername and getsockname.
        sparc64: Remvoe set_fs() from perf_callchain_user().
      ffb845db
    • L
      Merge tag 'csky-for-linus-4.20-fixup-dtb' of https://github.com/c-sky/csky-linux · 5c99a8d1
      Linus Torvalds 提交于
      Pull csky dtb fixups from Guo Ren:
       "These fix the csky dtb Kbuild to follow the new Devicetree dtb build
        rules"
      
      * tag 'csky-for-linus-4.20-fixup-dtb' of https://github.com/c-sky/csky-linux:
        csky: use common dtb build rules
        csky: remove builtin-dtb Kbuild
      5c99a8d1
  2. 01 11月, 2018 26 次提交
    • L
      Merge tag 'platform-drivers-x86-v4.20-1' of git://git.infradead.org/linux-platform-drivers-x86 · eb7046e9
      Linus Torvalds 提交于
      Pull x86 platform driver updates from Darren Hart:
      
       - Move the Dell dcdbas and dell_rbu drivers into platform/drivers/x86
         as they are closely coupled with other drivers in this location.
      
       - Improve _init* usage for acerhdf and fix some usage issues with
         messages and module parameters.
      
       - Simplify asus-wmi by calling ACPI/WMI methods directly, eliminating
         workqueue overhead, eliminate double reporting of keyboard backlight.
      
       - Fix wake from USB failure on Bay Trail devices (intel_int0002_vgpio).
      
       - Notify intel_telemetry users when IPC1 device is not enabled.
      
       - Update various drivers with new laptop model IDs.
      
       - Update several intel drivers to use SPDX identifers and order headers
         alphabetically.
      
      * tag 'platform-drivers-x86-v4.20-1' of git://git.infradead.org/linux-platform-drivers-x86: (64 commits)
        HID: asus: only support backlight when it's not driven by WMI
        platform/x86: asus-wmi: export function for evaluating WMI methods
        platform/x86: asus-wmi: Only notify kbd LED hw_change by fn-key pressed
        platform/x86: wmi: declare device_type structure as constant
        platform/x86: ideapad: Add Y530-15ICH to no_hw_rfkill
        platform/x86: Add Intel AtomISP2 dummy / power-management driver
        platform/x86: touchscreen_dmi: Add min-x and min-y settings for various models
        platform/x86: touchscreen_dmi: Add info for the Onda V80 Plus v3 tablet
        platform/x86: touchscreen_dmi: Add info for the Trekstor Primetab T13B tablet
        platform/x86: intel_telemetry: Get rid of custom macro
        platform/x86: intel_telemetry: report debugfs failure
        MAINTAINERS: intel_telemetry: Update maintainers info
        platform/x86: Add LG Gram laptop special features driver
        platform/x86: asus-wmi: Simplify the keyboard brightness updating process
        platform/x86: touchscreen_dmi: Add info for the Trekstor Primebook C11 convertible
        platform/x86: mlx-platform: Properly use mlxplat_mlxcpld_msn201x_items
        MAINTAINERS: intel_pmc_core: Update MAINTAINERS
        firmware: dcdbas: include linux/io.h
        platform/x86: intel-wmi-thunderbolt: Add dynamic debugging
        platform/x86: intel-wmi-thunderbolt: Convert to use SPDX identifier
        ...
      eb7046e9
    • G
      csky: use common dtb build rules · e8d0c9a7
      Guo Ren 提交于
      Remove the Kbuild rules in arch/csky and use common dtb build rules.
      
      This modification is based on:
      
      commit 37c8a5fa ("kbuild: consolidate Devicetree dtb build rules")
      Signed-off-by: NGuo Ren <ren_guo@c-sky.com>
      Reviewed-by: NRob Herring <robh@kernel.org>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      e8d0c9a7
    • G
      csky: remove builtin-dtb Kbuild · c4c14c3b
      Guo Ren 提交于
      Remove the builtin-dtb implementation in arch/csky.
      Signed-off-by: NGuo Ren <ren_guo@c-sky.com>
      Reviewed-by: NRob Herring <robh@kernel.org>
      Reviewed-by: NArnd Bergmann <arnd@arndb.de>
      c4c14c3b
    • J
      openvswitch: Fix push/pop ethernet validation · 46ebe283
      Jaime Caamaño Ruiz 提交于
      When there are both pop and push ethernet header actions among the
      actions to be applied to a packet, an unexpected EINVAL (Invalid
      argument) error is obtained. This is due to mac_proto not being reset
      correctly when those actions are validated.
      
      Reported-at:
      https://mail.openvswitch.org/pipermail/ovs-discuss/2018-October/047554.html
      Fixes: 91820da6 ("openvswitch: add Ethernet push and pop actions")
      Signed-off-by: NJaime Caamaño Ruiz <jcaamano@suse.com>
      Tested-by: NGreg Rose <gvrose8192@gmail.com>
      Reviewed-by: NGreg Rose <gvrose8192@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      46ebe283
    • N
      net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules · 30549aab
      Niklas Cassel 提交于
      When building stmmac, it is only possible to select CONFIG_DWMAC_GENERIC,
      or any of the glue drivers, when CONFIG_STMMAC_PLATFORM is set.
      The only exception is CONFIG_STMMAC_PCI.
      
      When calling of_mdiobus_register(), it will call our ->reset()
      callback, which is set to stmmac_mdio_reset().
      
      Most of the code in stmmac_mdio_reset() is protected by a
      "#if defined(CONFIG_STMMAC_PLATFORM)", which will evaluate
      to false when CONFIG_STMMAC_PLATFORM=m.
      
      Because of this, the phy reset gpio will only be pulled when
      stmmac is built as built-in, but not when built as modules.
      
      Fix this by using "#if IS_ENABLED()" instead of "#if defined()".
      Signed-off-by: NNiklas Cassel <niklas.cassel@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      30549aab
    • D
      sparc64: Wire up compat getpeername and getsockname. · 1f2b5b8e
      David S. Miller 提交于
      Fixes: 8b30ca73 ("sparc: Add all necessary direct socket system calls.")
      Reported-by: NJoseph Myers  <joseph@codesourcery.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1f2b5b8e
    • D
      Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue · 4d3163cf
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2018-10-31
      
      This series contains a various collection of fixes.
      
      Miroslav Lichvar from Red Hat or should I say IBM now?  Updates the PHC
      timecounter interval for igb so that it gets updated at least once
      every 550 seconds.
      
      Ngai-Mint provides a fix for fm10k to prevent a soft lockup or system
      crash by adding a new condition to determine if the SM mailbox is in the
      correct state before proceeding.
      
      Jake provides several fm10k fixes, first one marks complier aborts as
      non-fatal since on some platforms trigger machine check errors when the
      compile aborts.  Added missing device ids to the in-kernel driver.  Due
      to the recent fixes, bumped the driver version.
      
      I (Jeff Kirsher) fixed a XFRM_ALGO dependency for both ixgbe and
      ixgbevf.  This fix was based on the original work from Arnd Bergmann,
      which only fixed ixgbe.
      
      Mitch provides a fix for i40e/avf to update the status codes, which
      resolves an issue between a mis-match between i40e and the iavf driver,
      which also supports the ice LAN driver.
      
      Radoslaw fixes the ixgbe where the driver is logging a message about
      spoofed packets detected when the VF is re-started with a different MAC
      address.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4d3163cf
    • D
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · df975da4
      David S. Miller 提交于
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf 2018-11-01
      
      The following pull-request contains BPF updates for your *net* tree.
      
      The main changes are:
      
      1) Fix tcp_bpf_recvmsg() to return -EAGAIN instead of 0 in non-blocking
         case when no data is available yet, from John.
      
      2) Fix a compilation error in libbpf_attach_type_by_name() when compiled
         with clang 3.8, from Andrey.
      
      3) Fix a partial copy of map pointer on scalar alu and remove id
         generation for RET_PTR_TO_MAP_VALUE return types, from Daniel.
      
      4) Add unlimited memlock limit for kernel selftest's flow_dissector_load
         program, from Yonghong.
      
      5) Fix ping for some BPF shell based kselftests where distro does not
         ship "ping -6" anymore, from Li.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      df975da4
    • A
      Merge branch 'verifier-fixes' · dfeb8f4c
      Alexei Starovoitov 提交于
      Daniel Borkmann says:
      
      ====================
      The series contains two fixes in BPF core and test cases. For details
      please see individual patches. Thanks!
      ====================
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      dfeb8f4c
    • D
      bpf: test make sure to run unpriv test cases in test_verifier · 832c6f2c
      Daniel Borkmann 提交于
      Right now unprivileged tests are never executed as a BPF test run,
      only loaded. Allow for running them as well so that we can check
      the outcome and probe for regressions.
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      832c6f2c
    • D
      bpf: add various test cases to test_verifier · 2683f412
      Daniel Borkmann 提交于
      Add some more map related test cases to test_verifier kselftest
      to improve test coverage. Summary: 1012 PASSED, 0 SKIPPED, 0 FAILED
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      2683f412
    • D
      bpf: don't set id on after map lookup with ptr_to_map_val return · 4d31f301
      Daniel Borkmann 提交于
      In the verifier there is no such semantics where registers with
      PTR_TO_MAP_VALUE type have an id assigned to them. This is only
      used in PTR_TO_MAP_VALUE_OR_NULL and later on nullified once the
      test against NULL has been pattern matched and type transformed
      into PTR_TO_MAP_VALUE.
      
      Fixes: 3e6a4b3e ("bpf/verifier: introduce BPF_PTR_TO_MAP_VALUE")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Cc: Roman Gushchin <guro@fb.com>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      4d31f301
    • D
      bpf: fix partial copy of map_ptr when dst is scalar · 0962590e
      Daniel Borkmann 提交于
      ALU operations on pointers such as scalar_reg += map_value_ptr are
      handled in adjust_ptr_min_max_vals(). Problem is however that map_ptr
      and range in the register state share a union, so transferring state
      through dst_reg->range = ptr_reg->range is just buggy as any new
      map_ptr in the dst_reg is then truncated (or null) for subsequent
      checks. Fix this by adding a raw member and use it for copying state
      over to dst_reg.
      
      Fixes: f1174f77 ("bpf/verifier: rework value tracking")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Cc: Edward Cree <ecree@solarflare.com>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      0962590e
    • L
      Merge tag 'tag-chrome-platform-for-v4.20' of... · 5b744981
      Linus Torvalds 提交于
      Merge tag 'tag-chrome-platform-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform
      
      Pull chrome-platform updates from Benson Leung:
      
       - Move mfd/cros_ec_lpc* includes to drivers/platform from mfd
      
       - Adding a new interrupt path for cros_ec_lpc
      
      * tag 'tag-chrome-platform-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform:
        platform/chrome: chromeos_tbmc - Remove unneeded const
        platform/chrome: Add a new interrupt path for cros_ec_lpc
        mfd: cros_ec: Fix and improve kerneldoc comments.
        platform/chrome: Move mfd/cros_ec_lpc* includes to drivers/platform.
      5b744981
    • A
      MAINTAINERS: add maintainer for IMX LPI2C driver · 012ebc3b
      A.s. Dong 提交于
      The LPI2C is used in IMX7ULP/MX8 SoCs.
      Signed-off-by: NDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      012ebc3b
    • A
      dt-bindings: i2c: i2c-imx-lpi2c: add imx8qxp compatible string · 69819c7f
      A.s. Dong 提交于
      Add imx8qxp compatible string
      Reviewed-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NDong Aisheng <aisheng.dong@nxp.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      69819c7f
    • C
      i2c: Clear client->irq in i2c_device_remove · 6f108dd7
      Charles Keepax 提交于
      The IRQ will be mapped in i2c_device_probe only if client->irq is zero and
      i2c_device_remove does not clear this. When rebinding an I2C device,
      whos IRQ provider has also been rebound this means that an IRQ mapping
      will never be created, causing the I2C device to fail to acquire its
      IRQ. Fix this issue by clearing client->irq in i2c_device_remove,
      forcing i2c_device_probe to lookup the mapping again.
      Signed-off-by: NCharles Keepax <ckeepax@opensource.cirrus.com>
      Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      6f108dd7
    • C
      i2c: Remove unnecessary call to irq_find_mapping · b9bb3fdf
      Charles Keepax 提交于
      irq_create_mapping calls irq_find_mapping internally and will use the
      found mapping if one exists, so there is no need to manually call this
      from i2c_smbus_host_notify_to_irq.
      Signed-off-by: NCharles Keepax <ckeepax@opensource.cirrus.com>
      Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      b9bb3fdf
    • L
      Merge tag 'riscv-for-linus-4.20-mw2' of... · 3dca04d6
      Linus Torvalds 提交于
      Merge tag 'riscv-for-linus-4.20-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
      
      Pull more RISC-V updates from Palmer Dabbelt:
       "This contains the follow-on patches I'd like to target for the 4.20
        merge window. I'm being somewhat conservative here, as while there are
        a few patches on the mailing list that were posted early in the merge
        window I'd like to let those bake for another round -- this was a
        fairly big release as far as RISC-V is concerened, and we need to walk
        before we can run.
      
        As far as the patches that made it go:
      
         - A patch to ignore offline CPUs when calculating AT_HWCAP. This
           should fix GDB on the HiFive unleashed, which has an embedded core
           for hart 0 which is exposed to Linux as an offline CPU.
      
         - A move of EM_RISCV to elf-em.h, which is where it should have been
           to begin with.
      
         - I've also removed the 64-bit divide routines. I know I'm not really
           playing by my own rules here because I posted the patches this
           morning, but since they shouldn't be in the kernel I think it's
           better to err on the side of going too fast here.
      
        I don't anticipate any more patch sets for the merge window"
      
      * tag 'riscv-for-linus-4.20-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
        Move EM_RISCV into elf-em.h
        RISC-V: properly determine hardware caps
        Revert "lib: Add umoddi3 and udivmoddi4 of GCC library routines"
        Revert "RISC-V: Select GENERIC_LIB_UMODDI3 on RV32"
      3dca04d6
    • L
      Merge branch 'for-linus-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 9bb9d4fd
      Linus Torvalds 提交于
      Pull UML updates from Richard Weinberger:
      
       - removal of old and dead code
      
       - a bug fix for our tty driver
      
       - other minor cleanups across the code base
      
      * 'for-linus-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Make line/tty semantics use true write IRQ
        um: trap: fix spelling mistake, EACCESS -> EACCES
        um: Don't hardcode path as it is architecture dependent
        um: NULL check before kfree is not needed
        um: remove unused AIO code
        um: Give start_idle_thread() a return code
        um: Remove update_debugregs()
        um: Drop own definition of PTRACE_SYSEMU/_SINGLESTEP
      9bb9d4fd
    • L
      Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · adb6b2b2
      Linus Torvalds 提交于
      Pull c6x update from Mark Salter.
      
      * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
        c6x: switch to NO_BOOTMEM
      adb6b2b2
    • A
      libbpf: Fix compile error in libbpf_attach_type_by_name · 36153532
      Andrey Ignatov 提交于
      Arnaldo Carvalho de Melo reported build error in libbpf when clang
      version 3.8.1-24 (tags/RELEASE_381/final) is used:
      
      libbpf.c:2201:36: error: comparison of constant -22 with expression of
      type 'const enum bpf_attach_type' is always false
      [-Werror,-Wtautological-constant-out-of-range-compare]
                      if (section_names[i].attach_type == -EINVAL)
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~
      1 error generated.
      
      Fix the error by keeping "is_attachable" property of a program in a
      separate struct field instead of trying to use attach_type itself.
      
      Fixes: 956b620f ("libbpf: Introduce libbpf_attach_type_by_name")
      Reported-by: NArnaldo Carvalho de Melo <acme@kernel.org>
      Signed-off-by: NAndrey Ignatov <rdna@fb.com>
      Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      36153532
    • L
      kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists · deee2cae
      Li Zhijian 提交于
      ping binary on some distros doesn't support "ping -6" anymore.
      Signed-off-by: NLi Zhijian <lizhijian@cn.fujitsu.com>
      Acked-by: NSong Liu <songliubraving@fb.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      deee2cae
    • L
      Merge tag 'fuse-update-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 9b5cf826
      Linus Torvalds 提交于
      Pull fuse updates from Miklos Szeredi:
       "As well as the usual bug fixes, this adds the following new features:
      
         - cached readdir and readlink
      
         - max I/O size increased from 128k to 1M
      
         - improved performance and scalability of request queues
      
         - copy_file_range support
      
        The only non-fuse bits are trivial cleanups of macros in
        <linux/bitops.h>"
      
      * tag 'fuse-update-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (31 commits)
        fuse: enable caching of symlinks
        fuse: only invalidate atime in direct read
        fuse: don't need GETATTR after every READ
        fuse: allow fine grained attr cache invaldation
        bitops: protect variables in bit_clear_unless() macro
        bitops: protect variables in set_mask_bits() macro
        fuse: realloc page array
        fuse: add max_pages to init_out
        fuse: allocate page array more efficiently
        fuse: reduce size of struct fuse_inode
        fuse: use iversion for readdir cache verification
        fuse: use mtime for readdir cache verification
        fuse: add readdir cache version
        fuse: allow using readdir cache
        fuse: allow caching readdir
        fuse: extract fuse_emit() helper
        fuse: add FOPEN_CACHE_DIR
        fuse: split out readdir.c
        fuse: Use hash table to link processing request
        fuse: kill req->intr_unique
        ...
      9b5cf826
    • L
      Merge tag 'ceph-for-4.20-rc1' of git://github.com/ceph/ceph-client · 31990f0f
      Linus Torvalds 提交于
      Pull ceph updates from Ilya Dryomov:
       "The highlights are:
      
         - a series that fixes some old memory allocation issues in libceph
           (myself). We no longer allocate memory in places where allocation
           failures cannot be handled and BUG when the allocation fails.
      
         - support for copy_file_range() syscall (Luis Henriques). If size and
           alignment conditions are met, it leverages RADOS copy-from
           operation. Otherwise, a local copy is performed.
      
         - a patch that reduces memory requirement of ceph_sync_read() from
           the size of the entire read to the size of one object (Zheng Yan).
      
         - fallocate() syscall is now restricted to FALLOC_FL_PUNCH_HOLE (Luis
           Henriques)"
      
      * tag 'ceph-for-4.20-rc1' of git://github.com/ceph/ceph-client: (25 commits)
        ceph: new mount option to disable usage of copy-from op
        ceph: support copy_file_range file operation
        libceph: support the RADOS copy-from operation
        ceph: add non-blocking parameter to ceph_try_get_caps()
        libceph: check reply num_data_items in setup_request_data()
        libceph: preallocate message data items
        libceph, rbd, ceph: move ceph_osdc_alloc_messages() calls
        libceph: introduce alloc_watch_request()
        libceph: assign cookies in linger_submit()
        libceph: enable fallback to ceph_msg_new() in ceph_msgpool_get()
        ceph: num_ops is off by one in ceph_aio_retry_work()
        libceph: no need to call osd_req_opcode_valid() in osd_req_encode_op()
        ceph: set timeout conditionally in __cap_delay_requeue
        libceph: don't consume a ref on pagelist in ceph_msg_data_add_pagelist()
        libceph: introduce ceph_pagelist_alloc()
        libceph: osd_req_op_cls_init() doesn't need to take opcode
        libceph: bump CEPH_MSG_MAX_DATA_LEN
        ceph: only allow punch hole mode in fallocate
        ceph: refactor ceph_sync_read()
        ceph: check if LOOKUPNAME request was aborted when filling trace
        ...
      31990f0f
    • D
      Merge branch 'mlxsw-Enable-minimum-shaper-on-MC-TCs' · e2acdddd
      David S. Miller 提交于
      Ido Schimmel says:
      
      ====================
      mlxsw: Enable minimum shaper on MC TCs
      
      Petr says:
      
      An MC-aware mode was introduced in commit 7b819530 ("mlxsw:
      spectrum: Configure MC-aware mode on mlxsw ports"). In MC-aware mode,
      BUM traffic gets a special treatment by being assigned to a separate set
      of traffic classes 8..15. Pairs of TCs 0 and 8, 1 and 9, etc., are then
      configured to strictly prioritize the lower-numbered ones. The intention
      is to prevent BUM traffic from flooding the switch and push out all UC
      traffic, which would otherwise happen, and instead give UC traffic
      precedence.
      
      However strictly prioritizing UC traffic has the effect that UC overload
      pushes out all BUM traffic, such as legitimate ARP queries. These
      packets are kept in queues for a while, but under sustained UC overload,
      their lifetime eventually expires and these packets are dropped. That is
      detrimental to network performance as well.
      
      In this patchset, MC TCs (8..15) are configured with minimum shaper of
      200Mbps (a minimum permitted value) to allow a trickle of necessary
      control traffic to get through.
      
      First in patch #1, the QEEC register is extended with fields necessary
      to configure the minimum shaper.
      
      In patch #2, minimum shaper is enabled on TCs 8..15.
      
      In patches #3 and #4, first the MC-awareness test is tweaked to support
      the minimum shaper, and then a new test is introduced to test that MC
      traffic behaves well under UC overload.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e2acdddd