1. 26 Mar, 2020 20 commits
  2. 25 Mar, 2020 20 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 1b649e0b
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix deadlock in bpf_send_signal() from Yonghong Song.
      
       2) Fix off by one in kTLS offload of mlx5, from Tariq Toukan.
      
       3) Add missing locking in iwlwifi mvm code, from Avraham Stern.
      
       4) Fix MSG_WAITALL handling in rxrpc, from David Howells.
      
       5) Need to hold RTNL mutex in tcindex_partial_destroy_work(), from Cong
          Wang.
      
       6) Fix producer race condition in AF_PACKET, from Willem de Bruijn.
      
       7) cls_route removes the wrong filter during change operations, from
          Cong Wang.
      
       8) Reject unrecognized request flags in ethtool netlink code, from
          Michal Kubecek.
      
       9) Need to keep MAC in reset until PHY is up in bcmgenet driver, from
          Doug Berger.
      
      10) Don't leak ct zone template in act_ct during replace, from Paul
          Blakey.
      
      11) Fix flushing of offloaded netfilter flowtable flows, also from Paul
          Blakey.
      
      12) Fix throughput drop during tx backpressure in cxgb4, from Rahul
          Lakkireddy.
      
      13) Don't let a non-NULL skb->dev leave the TCP stack, from Eric
          Dumazet.
      
      14) TCP_QUEUE_SEQ socket option has to update tp->copied_seq as well,
          also from Eric Dumazet.
      
      15) Restrict macsec to ethernet devices, from Willem de Bruijn.
      
      16) Fix reference leak in some ethtool *_SET handlers, from Michal
          Kubecek.
      
      17) Fix accidental disabling of MSI for some r8169 chips, from Heiner
          Kallweit.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (138 commits)
        net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build
        net: ena: Add PCI shutdown handler to allow safe kexec
        selftests/net/forwarding: define libs as TEST_PROGS_EXTENDED
        selftests/net: add missing tests to Makefile
        r8169: re-enable MSI on RTL8168c
        net: phy: mdio-bcm-unimac: Fix clock handling
        cxgb4/ptp: pass the sign of offset delta in FW CMD
        net: dsa: tag_8021q: replace dsa_8021q_remove_header with __skb_vlan_pop
        net: cbs: Fix software cbs to consider packet sending time
        net/mlx5e: Do not recover from a non-fatal syndrome
        net/mlx5e: Fix ICOSQ recovery flow with Striding RQ
        net/mlx5e: Fix missing reset of SW metadata in Striding RQ reset
        net/mlx5e: Enhance ICOSQ WQE info fields
        net/mlx5_core: Set IB capability mask1 to fix ib_srpt connection failure
        selftests: netfilter: add nfqueue test case
        netfilter: nft_fwd_netdev: allow to redirect to ifb via ingress
        netfilter: nft_fwd_netdev: validate family and chain type
        netfilter: nft_set_rbtree: Detect partial overlaps on insertion
        netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start()
        netfilter: nft_set_pipapo: Separate partial and complete overlap cases on insertion
        ...
      1b649e0b
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 1dfb642b
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
      
       - One core quirk by myself to fix the .irq_disable() semantics when the
         gpiolib core takes over this callback.
      
       - The rest is an elaborate series of four patches fixing Intel laptop
         ACPI wakeup quirks.
      
      * tag 'gpio-v5.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model
        gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 BYT + AXP288 model
        gpiolib: acpi: Rework honor_wakeup option into an ignore_wake option
        gpiolib: acpi: Correct comment for HP x2 10 honor_wakeup quirk
        gpiolib: Fix irq_disable() semantics
      1dfb642b
    • David S. Miller's avatar
      Merge tag 'wireless-drivers-2020-03-25' of... · 2910594f
      David S. Miller authored
      Merge tag 'wireless-drivers-2020-03-25' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers
      
      Kalle Valo says:
      
      ====================
      wireless-drivers fixes for v5.6
      
      Fourth, and last, set of fixes for v5.6. Just two important fixes to
      iwlwifi regressions.
      
      iwlwifi
      
      * fix GEO_TX_POWER_LIMIT command on certain devices which caused
        firmware to crash during initialisation
      
      * add back device ids for three devices which were accidentally
        removed
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2910594f
    • Pablo Neira Ayuso's avatar
      net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build · 2c64605b
      Pablo Neira Ayuso authored
      net/netfilter/nft_fwd_netdev.c: In function ‘nft_fwd_netdev_eval’:
          net/netfilter/nft_fwd_netdev.c:32:10: error: ‘struct sk_buff’ has no member named ‘tc_redirected’
            pkt->skb->tc_redirected = 1;
                    ^~
          net/netfilter/nft_fwd_netdev.c:33:10: error: ‘struct sk_buff’ has no member named ‘tc_from_ingress’
            pkt->skb->tc_from_ingress = 1;
                    ^~
      
      To avoid a direct dependency with tc actions from netfilter, wrap the
      redirect bits around CONFIG_NET_REDIRECT and move helpers to
      include/linux/skbuff.h. Turn on this toggle from the ifb driver, the
      only existing client of these bits in the tree.
      
      This patch adds skb_set_redirected() that sets on the redirected bit
      on the skbuff, it specifies if the packet was redirect from ingress
      and resets the timestamp (timestamp reset was originally missing in the
      netfilter bugfix).
      
      Fixes: bcfabee1 ("netfilter: nft_fwd_netdev: allow to redirect to ifb via ingress")
      Reported-by: noreply@ellerman.id.au
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c64605b
    • Rahul Kundu's avatar
      cxgb4: Add support to catch bits set in INT_CAUSE5 · 1f074e67
      Rahul Kundu authored
      This commit adds support to catch any bits set in SGE_INT_CAUSE5 for Parity Errors.
      F_ERR_T_RXCRC flag is used to ignore that particular bit as it is not considered as fatal.
      So, we clear out the bit before looking for error.
      This patch now read and report separately all three registers(Cause1, Cause2, Cause5).
      Also, checks for errors if any.
      Signed-off-by: default avatarRaju Rangoju <rajur@chelsio.com>
      Signed-off-by: default avatarRahul Kundu <rahul.kundu@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1f074e67
    • David S. Miller's avatar
      Merge branch 'octeontx2-pf-Miscellaneous-fixes' · 6e22c604
      David S. Miller authored
      Sunil Goutham says:
      
      ====================
      octeontx2-pf: Miscellaneous fixes
      
      This patchset fixes couple of issues related to missing
      page refcount updation and taking a mutex lock in atomic
      context.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6e22c604
    • Sunil Goutham's avatar
      octeontx2-pf: Fix ndo_set_rx_mode · e99b7c84
      Sunil Goutham authored
      Since set_rx_mode takes a mutex lock for sending mailbox
      message to admin function to set the mode, moved logic
      to a workqueue.
      Signed-off-by: default avatarSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e99b7c84
    • Sunil Goutham's avatar
      octeontx2-pf: Fix rx buffer page refcount · e88b288e
      Sunil Goutham authored
      Fixed an issue wherein while refilling receive buffers
      for the last page allocated, recount is not being updated.
      Signed-off-by: default avatarSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e88b288e
    • David S. Miller's avatar
      Merge branch 's390-next' · 1455ea1d
      David S. Miller authored
      Julian Wiedmann says:
      
      ====================
      s390/qeth: updates 2020-03-25
      
      please apply the following patch series for qeth to netdev's net-next
      tree.
      Same series as yesterday, with one minor update to patch 1 as per
      your review.
      
      This adds
      1) NAPI poll support for the async-Completion Queue (with one qdio layer
         patch acked by Heiko),
      2) ethtool support for per-queue TX IRQ coalescing,
      3) various cleanups.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1455ea1d
    • Julian Wiedmann's avatar
      s390/qeth: modernize two list helpers · bb59c8a8
      Julian Wiedmann authored
      Replace list_for_each() with list_for_each_entry(), and
      list_entry(head.next) with list_first_entry().
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bb59c8a8
    • Julian Wiedmann's avatar
      s390/qeth: keep track of fixed prio-queue configuration · c91a1fb7
      Julian Wiedmann authored
      When a device is configured in prio-queue mode to pin all traffic onto
      a specific HW queue, treat this as a distinct variant of prio-queueing
      instead of QETH_NO_PRIO_QUEUEING.
      
      This corrects an error message from qeth_osa_set_output_queues() for
      devices configured in such a mode.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c91a1fb7
    • Julian Wiedmann's avatar
      s390/qeth: fine-tune MAC Address-related errnos · bdb0cc12
      Julian Wiedmann authored
      Return the correct errnos when .ndo_set_mac_address fails to set a new
      MAC address.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bdb0cc12
    • Julian Wiedmann's avatar
      s390/qeth: add TX IRQ coalescing support for IQD devices · ee1e52d1
      Julian Wiedmann authored
      Since IQD devices complete (most of) their transmissions synchronously,
      they don't offer TX completion IRQs and have no HW coalescing controls.
      But we can fake the easy parts in SW, and give the user some control wrt
      to how often the TX NAPI code should be triggered to process the TX
      completions.
      
      Having per-queue controls can in particular help the dedicated mcast
      queue, as it likely benefits from different fine-tuning than what the
      ucast queues need.
      
      CC: Jakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ee1e52d1
    • Julian Wiedmann's avatar
      s390/qeth: collect more TX statistics · 1ab2f8c6
      Julian Wiedmann authored
      Count the number of TX doorbells we issue to the qdio layer.
      
      Also count the number of actual frames in a TX buffer, and then
      use this data along with the byte count during TX completion.
      We'll make additional use of the frame count in a subsequent patch.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1ab2f8c6
    • Julian Wiedmann's avatar
      s390/qeth: clean up the mac_bits · 9de15117
      Julian Wiedmann authored
      We're down to a single bit flag for MAC-address related status, reflect
      that in the info struct.
      Also set up the flag during initialization instead of clearing it during
      shutdown - one more little step towards unifying the shutdown code.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9de15117
    • Julian Wiedmann's avatar
      s390/qeth: simplify L3 dev_id logic · 8ec1e247
      Julian Wiedmann authored
      The logic that deals with errors from qeth_l3_get_unique_id() is quite
      complex: it sets card->unique_id to 0xfffe, additionally flags it as
      UNIQUE_ID_NOT_BY_CARD and later takes this flag as cue to not propagate
      card->unique_id to dev->dev_id. With dev->dev_id thus holding 0,
      addrconf_ifid_eui48() applies its default behaviour.
      
      Get rid of all the special bit masks, and just return the old uid in
      case of an error. For the vast majority of cases this will be 0 (and so
      we still get the desired default behaviour) - with the rare exception
      where qeth_l3_get_unique_id() might have been called earlier but the
      initialization then failed at a later point.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ec1e247
    • Julian Wiedmann's avatar
      s390/qdio: extend polling support to multiple queues · 0a6e6345
      Julian Wiedmann authored
      When the support for polling drivers was initially added, it only
      considered Input Queue 0. But as QDIO interrupts are actually for the
      full device and not a single queue, this doesn't really fit for
      configurations where multiple Input Queues are used.
      
      Rework the qdio code so that interrupts for a polling driver are not
      split up into actions for each queue. Instead deliver the interrupt as
      a single event, and let the driver decide which queue needs what action.
      
      When re-enabling the QDIO interrupt via qdio_start_irq(), this means
      that the qdio code needs to
      (1) put _all_ eligible queues back into a state where they raise IRQs,
      (2) and afterwards check _all_ eligible queues for new work to bridge
          the race window.
      
      On the qeth side of things (as the only qdio polling driver), we can now
      add CQ polling support to the main NAPI poll routine. It doesn't consume
      NAPI budget, and to avoid hogging the CPU we yield control after
      completing one full queue worth of buffers.
      The subsequent qdio_start_irq() will check for any additional work, and
      have us re-schedule the NAPI instance accordingly.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Acked-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0a6e6345
    • Julian Wiedmann's avatar
      s390/qeth: remove redundant if-clause in RX poll code · b439044b
      Julian Wiedmann authored
      Whenever all completed RX buffers have been processed
      (ie. rx->b_count == 0), we call down to the HW layer to scan for
      additional buffers. If no further buffers are available, the code
      breaks out of the while-loop.
      
      So we never reach the 'process an RX buffer' step with rx->b_count == 0,
      eliminate that check and one level of indentation.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b439044b
    • Julian Wiedmann's avatar
      s390/qeth: split out RX poll code · 781b9a18
      Julian Wiedmann authored
      The main NAPI poll routine should eventually handle more types of work,
      beyond just the RX ring.
      Split off the RX poll logic into a separate function, and simplify the
      nested while-loop.
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      781b9a18
    • Julian Wiedmann's avatar
      s390/qeth: simplify RX buffer tracking · ed13615d
      Julian Wiedmann authored
      Since RX buffers may contain multiple packets, qeth's NAPI poll code can
      exhaust its budget in the middle of an RX buffer. Thus we keep track of
      our current position within the active RX buffer, so we can resume
      processing here in the next NAPI poll period.
      
      Clean up that code by tracking the index of the active buffer element,
      instead of a pointer to it.
      Also simplify the code that advances to the next RX buffer when the
      current buffer has been fully processed.
      
      v2: - remove QDIO_ELEMENT_NO() macro (davem)
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ed13615d