1. 21 11月, 2020 29 次提交
  2. 20 11月, 2020 11 次提交
    • J
      Merge branch 'enetc-clean-endianness-warnings-up' · 4082c502
      Jakub Kicinski 提交于
      Claudiu Manoil says:
      
      ====================
      enetc: Clean endianness warnings up
      
      Cleanup patches to address the outstanding endianness issues
      in the driver reported by sparse.
      ====================
      
      Link: https://lore.kernel.org/r/20201119101215.19223-1-claudiu.manoil@nxp.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      4082c502
    • C
      enetc: Fix endianness issues for enetc_qos · 0dfd294c
      Claudiu Manoil 提交于
      Currently the control buffer descriptor (cbd) fields have endianness
      restrictions while the commands passed into the control buffers
      don't (with one exception). This patch fixes offending code,
      by adding endianness accessors for cbd fields and removing the
      unnecessary ones in case of data buffer fields. Currently there's
      no need to convert all commands to little endian format, the patch
      only focuses on fixing current endianness issues reported by sparse.
      Signed-off-by: NClaudiu Manoil <claudiu.manoil@nxp.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      0dfd294c
    • C
      enetc: Fix endianness issues for enetc_ethtool · d548d393
      Claudiu Manoil 提交于
      These particular fields are specified in the H/W reference
      manual as having network byte order format, so enforce big
      endian annotation for them and clear the related sparse
      warnings in the process.
      Signed-off-by: NClaudiu Manoil <claudiu.manoil@nxp.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      d548d393
    • O
      IPv6: RTM_GETROUTE: Add RTA_ENCAP to result · 6b13d8f7
      Oliver Herms 提交于
      This patch adds an IPv6 routes encapsulation attribute
      to the result of netlink RTM_GETROUTE requests
      (i.e. ip route get 2001:db8::).
      Signed-off-by: NOliver Herms <oliver.peter.herms@gmail.com>
      Reviewed-by: NDavid Ahern <dsahern@kernel.org>
      Link: https://lore.kernel.org/r/20201118230651.GA8861@twsSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      6b13d8f7
    • P
      mptcp: update rtx timeout only if required. · b680a214
      Paolo Abeni 提交于
      We must start the retransmission timer only there are
      pending data in the rtx queue.
      Otherwise we can hit a WARN_ON in mptcp_reset_timer(),
      as syzbot demonstrated.
      
      Reported-and-tested-by: syzbot+42aa53dafb66a07e5a24@syzkaller.appspotmail.com
      Fixes: d9ca1de8 ("mptcp: move page frag allocation in mptcp_sendmsg()")
      Signed-off-by: NPaolo Abeni <pabeni@redhat.com>
      Reviewed-by: NMat Martineau <mathew.j.martineau@linux.intel.com>
      Reported-by: NNaresh Kamboju <naresh.kamboju@linaro.org>
      Tested-by: NNaresh Kamboju <naresh.kamboju@linaro.org>
      Link: https://lore.kernel.org/r/1a72039f112cae048c44d398ffa14e0a1432db3d.1605737083.git.pabeni@redhat.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      b680a214
    • J
      Merge branch 'devlink-move-common-flash_update-calls-to-core' · ac75b096
      Jakub Kicinski 提交于
      Jacob Keller says:
      
      ====================
      devlink: move common flash_update calls to core
      
      This series moves a couple common pieces done by all drivers of the
      ->flash_update interface into devlink.c flash update handler. Specifically,
      the core code will now request_firmware and
      devlink_flash_update_(begin|end)_notify.
      
      This cleanup is intended to simplify driver implementations so that they
      have less work to do and are less capable of doing the "wrong" thing.
      
      For request_firmware, this simplification is done as it is not expected that
      drivers would do anything else. It also standardizes all drivers so that
      they use the same interface (request_firmware, as opposed to
      request_firmware_direct), and allows reporting the netlink extended ack with
      the file name attribute.
      
      For status notification, this change prevents drivers from sending a status
      message without properly sending the status end notification. The current
      userspace implementation of devlink relies on this end notification to
      properly close the flash update channel. Without this, the flash update
      process may hang indefinitely. By moving the begin and end calls into the
      core code, it is no longer possible for a driver author to get this wrong.
      
      Changes since v3
      * picked up acked-by and reviewed-by comments
      * fixed the ionic driver to leave the print statement in place
      
      For the original patch that moved request_firmware, see [1]. For the v2 see
      [2]. For further discussion of the issues with devlink flash status see [3].
      For v3 see [4].
      
      [1] https://lore.kernel.org/netdev/20201113000142.3563690-1-jacob.e.keller@intel.com/
      [2] https://lore.kernel.org/netdev/20201113224559.3910864-1-jacob.e.keller@intel.com/
      [3] https://lore.kernel.org/netdev/6352e9d3-02af-721e-3a54-ef99a666be29@intel.com/
      [4] https://lore.kernel.org/netdev/20201117200820.854115-1-jacob.e.keller@intel.com/
      ====================
      
      Link: https://lore.kernel.org/r/20201118190636.1235045-1-jacob.e.keller@intel.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      ac75b096
    • J
      devlink: move flash end and begin to core devlink · 52cc5f3a
      Jacob Keller 提交于
      When performing a flash update via devlink, device drivers may inform
      user space of status updates via
      devlink_flash_update_(begin|end|timeout|status)_notify functions.
      
      It is expected that drivers do not send any status notifications unless
      they send a begin and end message. If a driver sends a status
      notification without sending the appropriate end notification upon
      finishing (regardless of success or failure), the current implementation
      of the devlink userspace program can get stuck endlessly waiting for the
      end notification that will never come.
      
      The current ice driver implementation may send such a status message
      without the appropriate end notification in rare cases.
      
      Fixing the ice driver is relatively simple: we just need to send the
      begin_notify at the start of the function and always send an end_notify
      no matter how the function exits.
      
      Rather than assuming driver authors will always get this right in the
      future, lets just fix the API so that it is not possible to get wrong.
      Make devlink_flash_update_begin_notify and
      devlink_flash_update_end_notify static, and call them in devlink.c core
      code. Always send the begin_notify just before calling the driver's
      flash_update routine. Always send the end_notify just after the routine
      returns regardless of success or failure.
      
      Doing this makes the status notification easier to use from the driver,
      as it no longer needs to worry about catching failures and cleaning up
      by calling devlink_flash_update_end_notify. It is now no longer possible
      to do the wrong thing in this regard. We also save a couple of lines of
      code in each driver.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Acked-by: NVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Reviewed-by: NJiri Pirko <jiri@nvidia.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      52cc5f3a
    • J
      devlink: move request_firmware out of driver · b44cfd4f
      Jacob Keller 提交于
      All drivers which implement the devlink flash update support, with the
      exception of netdevsim, use either request_firmware or
      request_firmware_direct to locate the firmware file. Rather than having
      each driver do this separately as part of its .flash_update
      implementation, perform the request_firmware within net/core/devlink.c
      
      Replace the file_name parameter in the struct devlink_flash_update_params
      with a pointer to the fw object.
      
      Use request_firmware rather than request_firmware_direct. Although most
      Linux distributions today do not have the fallback mechanism
      implemented, only about half the drivers used the _direct request, as
      compared to the generic request_firmware. In the event that
      a distribution does support the fallback mechanism, the devlink flash
      update ought to be able to use it to provide the firmware contents. For
      distributions which do not support the fallback userspace mechanism,
      there should be essentially no difference between request_firmware and
      request_firmware_direct.
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Acked-by: NShannon Nelson <snelson@pensando.io>
      Acked-by: NVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Reviewed-by: NJiri Pirko <jiri@nvidia.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      b44cfd4f
    • J
      56495a24
    • L
      Merge tag 'net-5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 4d02da97
      Linus Torvalds 提交于
      Pull networking fixes from Jakub Kicinski:
       "Networking fixes for 5.10-rc5, including fixes from the WiFi
        (mac80211), can and bpf (including the strncpy_from_user fix).
      
        Current release - regressions:
      
         - mac80211: fix memory leak of filtered powersave frames
      
         - mac80211: free sta in sta_info_insert_finish() on errors to avoid
           sleeping in atomic context
      
         - netlabel: fix an uninitialized variable warning added in -rc4
      
        Previous release - regressions:
      
         - vsock: forward all packets to the host when no H2G is registered,
           un-breaking AWS Nitro Enclaves
      
         - net: Exempt multicast addresses from five-second neighbor lifetime
           requirement, decreasing the chances neighbor tables fill up
      
         - net/tls: fix corrupted data in recvmsg
      
         - qed: fix ILT configuration of SRC block
      
         - can: m_can: process interrupt only when not runtime suspended
      
        Previous release - always broken:
      
         - page_frag: Recover from memory pressure by not recycling pages
           allocating from the reserves
      
         - strncpy_from_user: Mask out bytes after NUL terminator
      
         - ip_tunnels: Set tunnel option flag only when tunnel metadata is
           present, always setting it confuses Open vSwitch
      
         - bpf, sockmap:
            - Fix partial copy_page_to_iter so progress can still be made
            - Fix socket memory accounting and obeying SO_RCVBUF
      
         - net: Have netpoll bring-up DSA management interface
      
         - net: bridge: add missing counters to ndo_get_stats64 callback
      
         - tcp: brr: only postpone PROBE_RTT if RTT is < current min_rtt
      
         - enetc: Workaround MDIO register access HW bug
      
         - net/ncsi: move netlink family registration to a subsystem init,
           instead of tying it to driver probe
      
         - net: ftgmac100: unregister NC-SI when removing driver to avoid
           crash
      
         - lan743x:
            - prevent interrupt storm on open
            - fix freeing skbs in the wrong context
      
         - net/mlx5e: Fix socket refcount leak on kTLS RX resync
      
         - net: dsa: mv88e6xxx: Avoid VLAN database corruption on 6097
      
         - fix 21 unset return codes and other mistakes on error paths, mostly
           detected by the Hulk Robot"
      
      * tag 'net-5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (115 commits)
        fail_function: Remove a redundant mutex unlock
        selftest/bpf: Test bpf_probe_read_user_str() strips trailing bytes after NUL
        lib/strncpy_from_user.c: Mask out bytes after NUL terminator.
        net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid()
        net/smc: fix matching of existing link groups
        ipv6: Remove dependency of ipv6_frag_thdr_truncated on ipv6 module
        libbpf: Fix VERSIONED_SYM_COUNT number parsing
        net/mlx4_core: Fix init_hca fields offset
        atm: nicstar: Unmap DMA on send error
        page_frag: Recover from memory pressure
        net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset
        mlxsw: core: Use variable timeout for EMAD retries
        mlxsw: Fix firmware flashing
        net: Have netpoll bring-up DSA management interface
        atl1e: fix error return code in atl1e_probe()
        atl1c: fix error return code in atl1c_probe()
        ah6: fix error return code in ah6_input()
        net: usb: qmi_wwan: Set DTR quirk for MR400
        can: m_can: process interrupt only when not runtime suspended
        can: flexcan: flexcan_chip_start(): fix erroneous flexcan_transceiver_enable() during bus-off recovery
        ...
      4d02da97
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 3be28e93
      Linus Torvalds 提交于
      Pull rdma fixes from Jason Gunthorpe:
       "The last two weeks have been quiet here, just the usual smattering of
        long standing bug fixes.
      
        A collection of error case bug fixes:
      
         - Improper nesting of spinlock types in cm
      
         - Missing error codes and kfree()
      
         - Ensure dma_virt_ops users have the right kconfig symbols to work
           properly
      
         - Compilation failure of tools/testing"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        tools/testing/scatterlist: Fix test to compile and run
        IB/hfi1: Fix error return code in hfi1_init_dd()
        RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs
        RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device()
        RDMA/cm: Make the local_id_table xarray non-irq
      3be28e93