1. 24 Jun, 2022 30 commits
  2. 23 Jun, 2022 10 commits
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 93817be8
      Jakub Kicinski authored
      No conflicts.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      93817be8
    • Linus Torvalds's avatar
      Merge tag 'net-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 399bd66e
      Linus Torvalds authored
      Pull networking fixes from Paolo Abeni:
       "Including fixes from bpf and netfilter.
      
        Current release - regressions:
      
         - netfilter: cttimeout: fix slab-out-of-bounds read in
           cttimeout_net_exit
      
      Current release - new code bugs:
      
         - bpf: ftrace: keep address offset in ftrace_lookup_symbols
      
         - bpf: force cookies array to follow symbols sorting
      
        Previous releases - regressions:
      
         - ipv4: ping: fix bind address validity check
      
         - tipc: fix use-after-free read in tipc_named_reinit
      
         - eth: veth: add updating of trans_start
      
        Previous releases - always broken:
      
         - sock: redo the psock vs ULP protection check
      
         - netfilter: nf_dup_netdev: fix skb_under_panic
      
         - bpf: fix request_sock leak in sk lookup helpers
      
         - eth: igb: fix a use-after-free issue in igb_clean_tx_ring
      
         - eth: ice: prohibit improper channel config for DCB
      
         - eth: at803x: fix null pointer dereference on AR9331 phy
      
         - eth: virtio_net: fix xdp_rxq_info bug after suspend/resume
      
        Misc:
      
         - eth: hinic: replace memcpy() with direct assignment"
      
      * tag 'net-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (47 commits)
        net: openvswitch: fix parsing of nw_proto for IPv6 fragments
        sock: redo the psock vs ULP protection check
        Revert "net/tls: fix tls_sk_proto_close executed repeatedly"
        virtio_net: fix xdp_rxq_info bug after suspend/resume
        igb: Make DMA faster when CPU is active on the PCIe link
        net: dsa: qca8k: reduce mgmt ethernet timeout
        net: dsa: qca8k: reset cpu port on MTU change
        MAINTAINERS: Add a maintainer for OCP Time Card
        hinic: Replace memcpy() with direct assignment
        Revert "drivers/net/ethernet/neterion/vxge: Fix a use-after-free bug in vxge-main.c"
        net: phy: smsc: Disable Energy Detect Power-Down in interrupt mode
        ice: ethtool: Prohibit improper channel config for DCB
        ice: ethtool: advertise 1000M speeds properly
        ice: Fix switchdev rules book keeping
        ice: ignore protocol field in GTP offload
        netfilter: nf_dup_netdev: add and use recursion counter
        netfilter: nf_dup_netdev: do not push mac header a second time
        selftests: netfilter: correct PKTGEN_SCRIPT_PATHS in nft_concat_range.sh
        net/tls: fix tls_sk_proto_close executed repeatedly
        erspan: do not assume transport header is always set
        ...
      399bd66e
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · f410c3e0
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
      
       - mtk-sd: Fix dma hang issues
      
       - sdhci-pci-o2micro: Fix card detect by dealing with debouncing
      
      * tag 'mmc-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: mediatek: wait dma stop bit reset to 0
        mmc: sdhci-pci-o2micro: Fix card detect by dealing with debouncing
      f410c3e0
    • Linus Torvalds's avatar
      Merge tag 'sound-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · ddfe8031
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "All small changes, mostly device-specific:
      
         - A regression fix for PCM WC-page allocation on x86
      
         - A regression fix for i915 audio component binding
      
         - Fixes for (longstanding) beep handling bug
      
         - Runtime PM fixes for Intel LPE HDMI audio
      
         - A couple of pending FireWire fixes
      
         - Usual HD-audio and USB-audio quirks, new Intel dspconf entries"
      
      * tag 'sound-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Add quirk for Clevo NS50PU
        ALSA: hda: Fix discovery of i915 graphics PCI device
        ALSA: hda/via: Fix missing beep setup
        ALSA: hda/conexant: Fix missing beep setup
        ALSA: memalloc: Drop x86-specific hack for WC allocations
        ALSA: hda/realtek: Add quirk for Clevo PD70PNT
        ALSA: x86: intel_hdmi_audio: use pm_runtime_resume_and_get()
        ALSA: x86: intel_hdmi_audio: enable pm_runtime and set autosuspend delay
        ALSA: hda: intel-nhlt: remove use of __func__ in dev_dbg
        ALSA: hda: intel-dspcfg: use SOF for UpExtreme and UpExtreme11 boards
        firewire: convert sysfs sprintf/snprintf family to sysfs_emit
        firewire: cdev: fix potential leak of kernel stack due to uninitialized value
        ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly
        ALSA: hda/realtek - ALC897 headset MIC no sound
        ALSA: usb-audio: US16x08: Move overflow check before array access
        ALSA: hda/realtek: Add mute LED quirk for HP Omen laptop
      ddfe8031
    • Sixiang Chen's avatar
      nfp: add 'ethtool --identify' support · ccb9bc1d
      Sixiang Chen authored
      Add support for ethtool -p|--identify
      by enabling blinking of the panel LED if supported by the NIC firmware.
      Signed-off-by: default avatarSixiang Chen <sixiang.chen@corigine.com>
      Signed-off-by: default avatarSimon Horman <simon.horman@corigine.com>
      Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
      Link: https://lore.kernel.org/r/20220622083938.291548-1-simon.horman@corigine.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      ccb9bc1d
    • Rosemarie O'Riorden's avatar
      net: openvswitch: fix parsing of nw_proto for IPv6 fragments · 12378a5a
      Rosemarie O'Riorden authored
      When a packet enters the OVS datapath and does not match any existing
      flows installed in the kernel flow cache, the packet will be sent to
      userspace to be parsed, and a new flow will be created. The kernel and
      OVS rely on each other to parse packet fields in the same way so that
      packets will be handled properly.
      
      As per the design document linked below, OVS expects all later IPv6
      fragments to have nw_proto=44 in the flow key, so they can be correctly
      matched on OpenFlow rules. OpenFlow controllers create pipelines based
      on this design.
      
      This behavior was changed by the commit in the Fixes tag so that
      nw_proto equals the next_header field of the last extension header.
      However, there is no counterpart for this change in OVS userspace,
      meaning that this field is parsed differently between OVS and the
      kernel. This is a problem because OVS creates actions based on what is
      parsed in userspace, but the kernel-provided flow key is used as a match
      criteria, as described in Documentation/networking/openvswitch.rst. This
      leads to issues such as packets incorrectly matching on a flow and thus
      the wrong list of actions being applied to the packet. Such changes in
      packet parsing cannot be implemented without breaking the userspace.
      
      The offending commit is partially reverted to restore the expected
      behavior.
      
      The change technically made sense and there is a good reason that it was
      implemented, but it does not comply with the original design of OVS.
      If in the future someone wants to implement such a change, then it must
      be user-configurable and disabled by default to preserve backwards
      compatibility with existing OVS versions.
      
      Cc: stable@vger.kernel.org
      Fixes: fa642f08 ("openvswitch: Derive IP protocol number for IPv6 later frags")
      Link: https://docs.openvswitch.org/en/latest/topics/design/#fragmentsSigned-off-by: default avatarRosemarie O'Riorden <roriorden@redhat.com>
      Acked-by: default avatarEelco Chaudron <echaudro@redhat.com>
      Link: https://lore.kernel.org/r/20220621204845.9721-1-roriorden@redhat.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      12378a5a
    • Jakub Kicinski's avatar
      sock: redo the psock vs ULP protection check · e34a07c0
      Jakub Kicinski authored
      Commit 8a59f9d1 ("sock: Introduce sk->sk_prot->psock_update_sk_prot()")
      has moved the inet_csk_has_ulp(sk) check from sk_psock_init() to
      the new tcp_bpf_update_proto() function. I'm guessing that this
      was done to allow creating psocks for non-inet sockets.
      
      Unfortunately the destruction path for psock includes the ULP
      unwind, so we need to fail the sk_psock_init() itself.
      Otherwise if ULP is already present we'll notice that later,
      and call tcp_update_ulp() with the sk_proto of the ULP
      itself, which will most likely result in the ULP looping
      its callbacks.
      
      Fixes: 8a59f9d1 ("sock: Introduce sk->sk_prot->psock_update_sk_prot()")
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      Reviewed-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Reviewed-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
      Tested-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
      Link: https://lore.kernel.org/r/20220620191353.1184629-2-kuba@kernel.orgSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      e34a07c0
    • Jakub Kicinski's avatar
      Revert "net/tls: fix tls_sk_proto_close executed repeatedly" · 1b205d94
      Jakub Kicinski authored
      This reverts commit 69135c57.
      
      This commit was just papering over the issue, ULP should not
      get ->update() called with its own sk_prot. Each ULP would
      need to add this check.
      
      Fixes: 69135c57 ("net/tls: fix tls_sk_proto_close executed repeatedly")
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      Reviewed-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Link: https://lore.kernel.org/r/20220620191353.1184629-1-kuba@kernel.orgSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      1b205d94
    • Jakub Kicinski's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue · 85763435
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2022-06-21
      
      This series contains updates to i40e driver only.
      
      Mateusz adds support for using the speed option in ethtool.
      
      Minghao Chi removes unneeded synchronize_irq() calls.
      
      Bernard Zhao removes unneeded NULL check.
      
      * '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue:
        intel/i40e: delete if NULL check before dev_kfree_skb
        i40e: Remove unnecessary synchronize_irq() before free_irq()
        i40e: Add support for ethtool -s <interface> speed <speed in Mb>
      ====================
      
      Link: https://lore.kernel.org/r/20220621225930.632741-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      85763435
    • Stephan Gerhold's avatar
      virtio_net: fix xdp_rxq_info bug after suspend/resume · 8af52fe9
      Stephan Gerhold authored
      The following sequence currently causes a driver bug warning
      when using virtio_net:
      
        # ip link set eth0 up
        # echo mem > /sys/power/state (or e.g. # rtcwake -s 10 -m mem)
        <resume>
        # ip link set eth0 down
      
        Missing register, driver bug
        WARNING: CPU: 0 PID: 375 at net/core/xdp.c:138 xdp_rxq_info_unreg+0x58/0x60
        Call trace:
         xdp_rxq_info_unreg+0x58/0x60
         virtnet_close+0x58/0xac
         __dev_close_many+0xac/0x140
         __dev_change_flags+0xd8/0x210
         dev_change_flags+0x24/0x64
         do_setlink+0x230/0xdd0
         ...
      
      This happens because virtnet_freeze() frees the receive_queue
      completely (including struct xdp_rxq_info) but does not call
      xdp_rxq_info_unreg(). Similarly, virtnet_restore() sets up the
      receive_queue again but does not call xdp_rxq_info_reg().
      
      Actually, parts of virtnet_freeze_down() and virtnet_restore_up()
      are almost identical to virtnet_close() and virtnet_open(): only
      the calls to xdp_rxq_info_(un)reg() are missing. This means that
      we can fix this easily and avoid such problems in the future by
      just calling virtnet_close()/open() from the freeze/restore handlers.
      
      Aside from adding the missing xdp_rxq_info calls the only difference
      is that the refill work is only cancelled if netif_running(). However,
      this should not make any functional difference since the refill work
      should only be active if the network interface is actually up.
      
      Fixes: 754b8a21 ("virtio_net: setup xdp_rxq_info")
      Signed-off-by: default avatarStephan Gerhold <stephan.gerhold@kernkonzept.com>
      Acked-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Link: https://lore.kernel.org/r/20220621114845.3650258-1-stephan.gerhold@kernkonzept.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8af52fe9