Skip to content
Permalink
Willem-de-Brui…
Switch branches/tags

Commits on Feb 14, 2022

  1. ipv6: per-netns exclusive flowlabel checks

    Ipv6 flowlabels historically require a reservation before use.
    Optionally in exclusive mode (e.g., user-private).
    
    Commit 59c820b ("ipv6: elide flowlabel check if no exclusive
    leases exist") introduced a fastpath that avoids this check when no
    exclusive leases exist in the system, and thus any flowlabel use
    will be granted.
    
    That allows skipping the control operation to reserve a flowlabel
    entirely. Though with a warning if the fast path fails:
    
      This is an optimization. Robust applications still have to revert to
      requesting leases if the fast path fails due to an exclusive lease.
    
    Still, this is subtle. Better isolate network namespaces from each
    other. Flowlabels are per-netns. Also record per-netns whether
    exclusive leases are in use. Then behavior does not change based on
    activity in other netns.
    
    Fixes: 59c820b ("ipv6: elide flowlabel check if no exclusive leases exist")
    Link: https://lore.kernel.org/netdev/MWHPR2201MB1072BCCCFCE779E4094837ACD0329@MWHPR2201MB1072.namprd22.prod.outlook.com/
    Reported-by: Congyu Liu <liu3101@purdue.edu>
    Signed-off-by: Willem de Bruijn <willemb@google.com>
    Tested-by: Congyu Liu <liu3101@purdue.edu>
    wdebruij authored and intel-lab-lkp committed Feb 14, 2022
  2. ice: enable parsing IPSEC SPI headers for RSS

    The COMMS package can enable the hardware parser to recognize IPSEC
    frames with ESP header and SPI identifier.  If this package is available
    and configured for loading in /lib/firmware, then the driver will
    succeed in enabling this protocol type for RSS.
    
    This in turn allows the hardware to hash over the SPI and use it to pick
    a consistent receive queue for the same secure flow. Without this all
    traffic is steered to the same queue for multiple traffic threads from
    the same IP address. For that reason this is marked as a fix, as the
    driver supports the model, but it wasn't enabled.
    
    If the package is not available, adding this type will fail, but the
    failure is ignored on purpose as it has no negative affect.
    
    Fixes: c90ed40 ("ice: Enable writing hardware filtering tables")
    Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    jbrandeb authored and davem330 committed Feb 14, 2022

Commits on Feb 13, 2022

  1. tipc: fix a bit overflow in tipc_crypto_key_rcv()

    msg_data_sz return a 32bit value, but size is 16bit. This may lead to a
    bit overflow.
    
    Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    HBh25Y authored and davem330 committed Feb 13, 2022

Commits on Feb 11, 2022

  1. atl1c: fix tx timeout after link flap on Mikrotik 10/25G NIC

    If NIC had packets in tx queue at the moment link down event
    happened, it could result in tx timeout when link got back up.
    
    Since device has more than one tx queue we need to reset them
    accordingly.
    
    Fixes: 057f4af ("atl1c: add 4 RX/TX queue support for Mikrotik 10/25G NIC")
    Signed-off-by: Gatis Peisenieks <gatis@mikrotik.com>
    Link: https://lore.kernel.org/r/20220211065123.4187615-1-gatis@mikrotik.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Gatis Peisenieks authored and Jakub Kicinski committed Feb 11, 2022
  2. mctp: serial: Cancel pending work from ndo_uninit handler

    We cannot do the cancel_work_sync from after the unregister_netdev, as
    the dev pointer is no longer valid, causing a uaf on ldisc unregister
    (or device close).
    
    Instead, do the cancel_work_sync from the ndo_uninit op, where the dev
    still exists, but the queue has stopped.
    
    Fixes: 7bd9890 ("mctp: serial: cancel tx work on ldisc close")
    Reported-by: Luo Likang <luolikang@nsfocus.com>
    Tested-by: Luo Likang <luolikang@nsfocus.com>
    Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
    Link: https://lore.kernel.org/r/20220211011552.1861886-1-jk@codeconstruct.com.au
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    jk-ozlabs authored and Jakub Kicinski committed Feb 11, 2022
  3. net: dsa: lan9303: fix reset on probe

    The reset input to the LAN9303 chip is active low, and devicetree
    gpio handles reflect this.  Therefore, the gpio should be requested
    with an initial state of high in order for the reset signal to be
    asserted.  Other uses of the gpio already use the correct polarity.
    
    Fixes: a129259 ("net: dsa: add new DSA switch driver for the SMSC-LAN9303")
    Signed-off-by: Mans Rullgard <mans@mansr.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Reviewed-by: Florian Fianelil <f.fainelli@gmail.com>
    Link: https://lore.kernel.org/r/20220209145454.19749-1-mans@mansr.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    mansr authored and Jakub Kicinski committed Feb 11, 2022
  4. Merge tag 'wireless-2022-02-11' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/wireless/wireless
    
    wireless fixes for v5.17
    
    Second set of fixes for v5.17. This is the first pull request with
    both driver and stack patches.
    
    Most important here are a regression fix for brcmfmac USB devices and
    an iwlwifi fix for use after free when the firmware was missing. We
    have new maintainers for ath9k and wcn36xx as well as ath6kl is now
    orphaned. Also smaller fixes to iwlwifi and stack.
    davem330 committed Feb 11, 2022
  5. Merge ra.kernel.org:/pub/scm/linux/kernel/git/netfilter/nf

    Pablo Neira Ayuso says:
    
    ====================
    Netfilter fixes for net
    
    The following patchset contains Netfilter fixes for net:
    
    1) Add selftest for nft_synproxy, from Florian Westphal.
    
    2) xt_socket destroy path incorrectly disables IPv4 defrag for
       IPv6 traffic (typo), from Eric Dumazet.
    
    3) Fix exit value selftest nft_concat_range.sh, from Hangbin Liu.
    
    4) nft_synproxy disables the IPv4 hooks if the IPv6 hooks fail
       to be registered.
    
    5) disable rp_filter on router in selftest nft_fib.sh, also
       from Hangbin Liu.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Feb 11, 2022
  6. drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit

    trace_napi_poll_hit() is reading stat->dev while another thread can write
    on it from dropmon_net_event()
    
    Use READ_ONCE()/WRITE_ONCE() here, RCU rules are properly enforced already,
    we only have to take care of load/store tearing.
    
    BUG: KCSAN: data-race in dropmon_net_event / trace_napi_poll_hit
    
    write to 0xffff88816f3ab9c0 of 8 bytes by task 20260 on cpu 1:
     dropmon_net_event+0xb8/0x2b0 net/core/drop_monitor.c:1579
     notifier_call_chain kernel/notifier.c:84 [inline]
     raw_notifier_call_chain+0x53/0xb0 kernel/notifier.c:392
     call_netdevice_notifiers_info net/core/dev.c:1919 [inline]
     call_netdevice_notifiers_extack net/core/dev.c:1931 [inline]
     call_netdevice_notifiers net/core/dev.c:1945 [inline]
     unregister_netdevice_many+0x867/0xfb0 net/core/dev.c:10415
     ip_tunnel_delete_nets+0x24a/0x280 net/ipv4/ip_tunnel.c:1123
     vti_exit_batch_net+0x2a/0x30 net/ipv4/ip_vti.c:515
     ops_exit_list net/core/net_namespace.c:173 [inline]
     cleanup_net+0x4dc/0x8d0 net/core/net_namespace.c:597
     process_one_work+0x3f6/0x960 kernel/workqueue.c:2307
     worker_thread+0x616/0xa70 kernel/workqueue.c:2454
     kthread+0x1bf/0x1e0 kernel/kthread.c:377
     ret_from_fork+0x1f/0x30
    
    read to 0xffff88816f3ab9c0 of 8 bytes by interrupt on cpu 0:
     trace_napi_poll_hit+0x89/0x1c0 net/core/drop_monitor.c:292
     trace_napi_poll include/trace/events/napi.h:14 [inline]
     __napi_poll+0x36b/0x3f0 net/core/dev.c:6366
     napi_poll net/core/dev.c:6432 [inline]
     net_rx_action+0x29e/0x650 net/core/dev.c:6519
     __do_softirq+0x158/0x2de kernel/softirq.c:558
     do_softirq+0xb1/0xf0 kernel/softirq.c:459
     __local_bh_enable_ip+0x68/0x70 kernel/softirq.c:383
     __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline]
     _raw_spin_unlock_bh+0x33/0x40 kernel/locking/spinlock.c:210
     spin_unlock_bh include/linux/spinlock.h:394 [inline]
     ptr_ring_consume_bh include/linux/ptr_ring.h:367 [inline]
     wg_packet_decrypt_worker+0x73c/0x780 drivers/net/wireguard/receive.c:506
     process_one_work+0x3f6/0x960 kernel/workqueue.c:2307
     worker_thread+0x616/0xa70 kernel/workqueue.c:2454
     kthread+0x1bf/0x1e0 kernel/kthread.c:377
     ret_from_fork+0x1f/0x30
    
    value changed: 0xffff88815883e000 -> 0x0000000000000000
    
    Reported by Kernel Concurrency Sanitizer on:
    CPU: 0 PID: 26435 Comm: kworker/0:1 Not tainted 5.17.0-rc1-syzkaller #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Workqueue: wg-crypt-wg2 wg_packet_decrypt_worker
    
    Fixes: 4ea7e38 ("dropmon: add ability to detect when hardware dropsrxpackets")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Neil Horman <nhorman@tuxdriver.com>
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    neebe000 authored and davem330 committed Feb 11, 2022
  7. net/smc: Avoid overwriting the copies of clcsock callback functions

    The callback functions of clcsock will be saved and replaced during
    the fallback. But if the fallback happens more than once, then the
    copies of these callback functions will be overwritten incorrectly,
    resulting in a loop call issue:
    
    clcsk->sk_error_report
     |- smc_fback_error_report() <------------------------------|
         |- smc_fback_forward_wakeup()                          | (loop)
             |- clcsock_callback()  (incorrectly overwritten)   |
                 |- smc->clcsk_error_report() ------------------|
    
    So this patch fixes the issue by saving these function pointers only
    once in the fallback and avoiding overwriting.
    
    Reported-by: syzbot+4de3c0e8a263e1e499bc@syzkaller.appspotmail.com
    Fixes: 341adee ("net/smc: Forward wakeup to smc socket waitqueue after fallback")
    Link: https://lore.kernel.org/r/0000000000006d045e05d78776f6@google.com
    Signed-off-by: Wen Gu <guwen@linux.alibaba.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Wen Gu authored and davem330 committed Feb 11, 2022
  8. Merge tag 'net-5.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/netdev/net
    
    Pull networking fixes from Jakub Kicinski:
     "Including fixes from netfilter and can.
    
    Current release - new code bugs:
    
       - sparx5: fix get_stat64 out-of-bound access and crash
    
       - smc: fix netdev ref tracker misuse
    
      Previous releases - regressions:
    
       - eth: ixgbevf: require large buffers for build_skb on 82599VF, avoid
         overflows
    
       - eth: ocelot: fix all IP traffic getting trapped to CPU with PTP
         over IP
    
       - bonding: fix rare link activation misses in 802.3ad mode
    
      Previous releases - always broken:
    
       - tcp: fix tcp sock mem accounting in zero-copy corner cases
    
       - remove the cached dst when uncloning an skb dst and its metadata,
         since we only have one ref it'd lead to an UaF
    
       - netfilter:
          - conntrack: don't refresh sctp entries in closed state
          - conntrack: re-init state for retransmitted syn-ack, avoid
            connection establishment getting stuck with strange stacks
          - ctnetlink: disable helper autoassign, avoid it getting lost
          - nft_payload: don't allow transport header access for fragments
    
       - dsa: fix use of devres for mdio throughout drivers
    
       - eth: amd-xgbe: disable interrupts during pci removal
    
       - eth: dpaa2-eth: unregister netdev before disconnecting the PHY
    
       - eth: ice: fix IPIP and SIT TSO offload"
    
    * tag 'net-5.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (53 commits)
      net: dsa: mv88e6xxx: fix use-after-free in mv88e6xxx_mdios_unregister
      net: mscc: ocelot: fix mutex lock error during ethtool stats read
      ice: Avoid RTNL lock when re-creating auxiliary device
      ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler
      ice: fix IPIP and SIT TSO offload
      ice: fix an error code in ice_cfg_phy_fec()
      net: mpls: Fix GCC 12 warning
      dpaa2-eth: unregister the netdev before disconnecting from the PHY
      skbuff: cleanup double word in comment
      net: macb: Align the dma and coherent dma masks
      mptcp: netlink: process IPv6 addrs in creating listening sockets
      selftests: mptcp: add missing join check
      net: usb: qmi_wwan: Add support for Dell DW5829e
      vlan: move dev_put into vlan_dev_uninit
      vlan: introduce vlan_dev_free_egress_priority
      ax25: fix UAF bugs of net_device caused by rebinding operation
      net: dsa: fix panic when DSA master device unbinds on shutdown
      net: amd-xgbe: disable interrupts during pci removal
      tipc: rate limit warning for received illegal binding update
      net: mdio: aspeed: Add missing MODULE_DEVICE_TABLE
      ...
    torvalds committed Feb 11, 2022

Commits on Feb 10, 2022

  1. Merge tag 'linux-kselftest-fixes-5.17-rc4' of git://git.kernel.org/pu…

    …b/scm/linux/kernel/git/shuah/linux-kselftest
    
    Pull Kselftest fixes from Shuah Khan:
     "Build and run-time fixes to pidfd, clone3, and ir tests"
    
    * tag 'linux-kselftest-fixes-5.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      selftests/ir: fix build with ancient kernel headers
      selftests: fixup build warnings in pidfd / clone3 tests
      pidfd: fix test failure due to stack overflow on some arches
    torvalds committed Feb 10, 2022
  2. Merge tag 'linux-kselftest-kunit-fixes-5.17-rc4' of git://git.kernel.…

    …org/pub/scm/linux/kernel/git/shuah/linux-kselftest
    
    Pull KUnit fixes from Shuah Khan:
     "Fixes to the test and usage documentation"
    
    * tag 'linux-kselftest-kunit-fixes-5.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      Documentation: KUnit: Fix usage bug
      kunit: fix missing f in f-string in run_checks.py
    torvalds committed Feb 10, 2022
  3. selftests: netfilter: disable rp_filter on router

    Some distros may enable rp_filter by default. After ns1 change addr to
    10.0.2.99 and set default router to 10.0.2.1, while the connected router
    address is still 10.0.1.1. The router will not reply the arp request
    from ns1. Fix it by setting the router's veth0 rp_filter to 0.
    
    Before the fix:
      # ./nft_fib.sh
      PASS: fib expression did not cause unwanted packet drops
      Netns nsrouter-HQkDORO2 fib counter doesn't match expected packet count of 1 for 1.1.1.1
      table inet filter {
              chain prerouting {
                      type filter hook prerouting priority filter; policy accept;
                      ip daddr 1.1.1.1 fib saddr . iif oif missing counter packets 0 bytes 0 drop
                      ip6 daddr 1c3::c01d fib saddr . iif oif missing counter packets 0 bytes 0 drop
              }
      }
    
    After the fix:
      # ./nft_fib.sh
      PASS: fib expression did not cause unwanted packet drops
      PASS: fib expression did drop packets for 1.1.1.1
      PASS: fib expression did drop packets for 1c3::c01d
    
    Fixes: 8294442 ("selftests: netfilter: add fib test case")
    Signed-off-by: Yi Chen <yiche@redhat.com>
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    liuhangbin authored and ummakynes committed Feb 10, 2022
  4. net: dsa: mv88e6xxx: fix use-after-free in mv88e6xxx_mdios_unregister

    Since struct mv88e6xxx_mdio_bus *mdio_bus is the bus->priv of something
    allocated with mdiobus_alloc_size(), this means that mdiobus_free(bus)
    will free the memory backing the mdio_bus as well. Therefore, the
    mdio_bus->list element is freed memory, but we continue to iterate
    through the list of MDIO buses using that list element.
    
    To fix this, use the proper list iterator that handles element deletion
    by keeping a copy of the list element next pointer.
    
    Fixes: f53a2ce ("net: dsa: mv88e6xxx: don't use devres for mdiobus")
    Reported-by: Rafael Richter <rafael.richter@gin.de>
    Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Link: https://lore.kernel.org/r/20220210174017.3271099-1-vladimir.oltean@nxp.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    vladimiroltean authored and Jakub Kicinski committed Feb 10, 2022
  5. Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/tnguy/net-queue
    
    Tony Nguyen says:
    
    ====================
    Intel Wired LAN Driver Updates 2022-02-10
    
    Dan Carpenter propagates an error in FEC configuration.
    
    Jesse fixes TSO offloads of IPIP and SIT frames.
    
    Dave adds a dedicated LAG unregister function to resolve a KASAN error
    and moves auxiliary device re-creation after LAG removal to the service
    task to avoid issues with RTNL lock.
    
    * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
      ice: Avoid RTNL lock when re-creating auxiliary device
      ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler
      ice: fix IPIP and SIT TSO offload
      ice: fix an error code in ice_cfg_phy_fec()
    ====================
    
    Link: https://lore.kernel.org/r/20220210170515.2609656-1-anthony.l.nguyen@intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Feb 10, 2022
  6. net: mscc: ocelot: fix mutex lock error during ethtool stats read

    An ongoing workqueue populates the stats buffer. At the same time, a user
    might query the statistics. While writing to the buffer is mutex-locked,
    reading from the buffer wasn't. This could lead to buggy reads by ethtool.
    
    This patch fixes the former blamed commit, but the bug was introduced in
    the latter.
    
    Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
    Fixes: 1e1caa9 ("ocelot: Clean up stats update deferred work")
    Fixes: a556c76 ("net: mscc: Add initial Ocelot switch support")
    Reported-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Link: https://lore.kernel.org/all/20220210150451.416845-2-colin.foster@in-advantage.com/
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    colin-foster-in-advantage authored and Jakub Kicinski committed Feb 10, 2022
  7. ice: Avoid RTNL lock when re-creating auxiliary device

    If a call to re-create the auxiliary device happens in a context that has
    already taken the RTNL lock, then the call flow that recreates auxiliary
    device can hang if there is another attempt to claim the RTNL lock by the
    auxiliary driver.
    
    To avoid this, any call to re-create auxiliary devices that comes from
    an source that is holding the RTNL lock (e.g. netdev notifier when
    interface exits a bond) should execute in a separate thread.  To
    accomplish this, add a flag to the PF that will be evaluated in the
    service task and dealt with there.
    
    Fixes: f9f5301 ("ice: Register auxiliary device to provide RDMA")
    Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
    Reviewed-by: Jonathan Toppins <jtoppins@redhat.com>
    Tested-by: Gurucharan G <gurucharanx.g@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    dmertman authored and anguy11 committed Feb 10, 2022
  8. ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler

    Currently, the same handler is called for both a NETDEV_BONDING_INFO
    LAG unlink notification as for a NETDEV_UNREGISTER call.  This is
    causing a problem though, since the netdev_notifier_info passed has
    a different structure depending on which event is passed.  The problem
    manifests as a call trace from a BUG: KASAN stack-out-of-bounds error.
    
    Fix this by creating a handler specific to NETDEV_UNREGISTER that only
    is passed valid elements in the netdev_notifier_info struct for the
    NETDEV_UNREGISTER event.
    
    Also included is the removal of an unbalanced dev_put on the peer_netdev
    and related braces.
    
    Fixes: 6a8b357 ("ice: Respond to a NETDEV_UNREGISTER event for LAG")
    Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
    Acked-by: Jonathan Toppins <jtoppins@redhat.com>
    Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    dmertman authored and anguy11 committed Feb 10, 2022
  9. ice: fix IPIP and SIT TSO offload

    The driver was avoiding offload for IPIP (at least) frames due to
    parsing the inner header offsets incorrectly when trying to check
    lengths.
    
    This length check works for VXLAN frames but fails on IPIP frames
    because skb_transport_offset points to the inner header in IPIP
    frames, which meant the subtraction of transport_header from
    inner_network_header returns a negative value (-20).
    
    With the code before this patch, everything continued to work, but GSO
    was being used to segment, causing throughputs of 1.5Gb/s per thread.
    After this patch, throughput is more like 10Gb/s per thread for IPIP
    traffic.
    
    Fixes: e94d447 ("ice: Implement filter sync, NDO operations and bump version")
    Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
    Tested-by: Gurucharan G <gurucharanx.g@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    jbrandeb authored and anguy11 committed Feb 10, 2022
  10. ice: fix an error code in ice_cfg_phy_fec()

    Propagate the error code from ice_get_link_default_override() instead
    of returning success.
    
    Fixes: ea78ce4 ("ice: add link lenient and default override support")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Tested-by: Gurucharan G <gurucharanx.g@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    error27 authored and anguy11 committed Feb 10, 2022
  11. selftests: netfilter: synproxy test requires nf_conntrack

    Otherwise, this test does not find the sysctl entry in place:
    
     sysctl: cannot stat /proc/sys/net/netfilter/nf_conntrack_tcp_loose: No such file or directory
     iperf3: error - unable to send control message: Bad file descriptor
     FAIL: iperf3 returned an error
    
    Fixes: 7152303 ("selftests: netfilter: add synproxy test")
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    ummakynes committed Feb 10, 2022
  12. netfilter: nft_synproxy: unregister hooks on init error path

    Disable the IPv4 hooks if the IPv6 hooks fail to be registered.
    
    Fixes: ad49d86 ("netfilter: nf_tables: Add synproxy support")
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    ummakynes committed Feb 10, 2022
  13. net: mpls: Fix GCC 12 warning

    When building with automatic stack variable initialization, GCC 12
    complains about variables defined outside of switch case statements.
    Move the variable outside the switch, which silences the warning:
    
    ./net/mpls/af_mpls.c:1624:21: error: statement will never be executed [-Werror=switch-unreachable]
      1624 |                 int err;
           |                     ^~~
    
    Signed-off-by: Victor Erminpour <victor.erminpour@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    victor-erminpour authored and davem330 committed Feb 10, 2022
  14. dpaa2-eth: unregister the netdev before disconnecting from the PHY

    The netdev should be unregistered before we are disconnecting from the
    MAC/PHY so that the dev_close callback is called and the PHY and the
    phylink workqueues are actually stopped before we are disconnecting and
    destroying the phylink instance.
    
    Fixes: 7194792 ("dpaa2-eth: add MAC/PHY support through phylink")
    Signed-off-by: Robert-Ionut Alexa <robert-ionut.alexa@nxp.com>
    Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Robert-Ionut Alexa authored and davem330 committed Feb 10, 2022
  15. skbuff: cleanup double word in comment

    Remove the second 'to'.
    
    Signed-off-by: Tom Rix <trix@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    trixirt authored and davem330 committed Feb 10, 2022
  16. net: macb: Align the dma and coherent dma masks

    Single page and coherent memory blocks can use different DMA masks
    when the macb accesses physical memory directly. The kernel is clever
    enough to allocate pages that fit into the requested address width.
    
    When using the ARM SMMU, the DMA mask must be the same for single
    pages and big coherent memory blocks. Otherwise the translation
    tables turn into one big mess.
    
      [   74.959909] macb ff0e0000.ethernet eth0: DMA bus error: HRESP not OK
      [   74.959989] arm-smmu fd800000.smmu: Unhandled context fault: fsr=0x402, iova=0x3165687460, fsynr=0x20001, cbfrsynra=0x877, cb=1
      [   75.173939] macb ff0e0000.ethernet eth0: DMA bus error: HRESP not OK
      [   75.173955] arm-smmu fd800000.smmu: Unhandled context fault: fsr=0x402, iova=0x3165687460, fsynr=0x20001, cbfrsynra=0x877, cb=1
    
    Since using the same DMA mask does not hurt direct 1:1 physical
    memory mappings, this commit always aligns DMA and coherent masks.
    
    Signed-off-by: Marc St-Amand <mstamand@ciena.com>
    Signed-off-by: Harini Katakam <harini.katakam@xilinx.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
    Tested-by: Conor Dooley <conor.dooley@microchip.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Marc St-Amand authored and davem330 committed Feb 10, 2022
  17. Merge tag 'mips-fixes-5.17_3' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/mips/linux
    
    Pull MIPS fix from Thomas Bogendoerfer:
     "Device tree fix for Ingenic CI20"
    
    * tag 'mips-fixes-5.17_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
      MIPS: DTS: CI20: fix how ddc power is enabled
    torvalds committed Feb 10, 2022
  18. Merge tag 'audit-pr-20220209' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/pcmoore/audit
    
    Pull audit fix from Paul Moore:
     "Another audit fix, this time a single rather small but important fix
      for an oops/page-fault caused by improperly accessing userspace
      memory"
    
    * tag 'audit-pr-20220209' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
      audit: don't deref the syscall args when checking the openat2 open_how::flags
    torvalds committed Feb 10, 2022
  19. tipc: improve size validations for received domain records

    The function tipc_mon_rcv() allows a node to receive and process
    domain_record structs from peer nodes to track their views of the
    network topology.
    
    This patch verifies that the number of members in a received domain
    record does not exceed the limit defined by MAX_MON_DOMAIN, something
    that may otherwise lead to a stack overflow.
    
    tipc_mon_rcv() is called from the function tipc_link_proto_rcv(), where
    we are reading a 32 bit message data length field into a uint16.  To
    avert any risk of bit overflow, we add an extra sanity check for this in
    that function.  We cannot see that happen with the current code, but
    future designers being unaware of this risk, may introduce it by
    allowing delivery of very large (> 64k) sk buffers from the bearer
    layer.  This potential problem was identified by Eric Dumazet.
    
    This fixes CVE-2022-0435
    
    Reported-by: Samuel Page <samuel.page@appgate.com>
    Reported-by: Eric Dumazet <edumazet@google.com>
    Fixes: 35c55c9 ("tipc: add neighbor monitoring framework")
    Signed-off-by: Jon Maloy <jmaloy@redhat.com>
    Reviewed-by: Xin Long <lucien.xin@gmail.com>
    Reviewed-by: Samuel Page <samuel.page@appgate.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    lmcjoma authored and torvalds committed Feb 10, 2022
  20. iwlwifi: fix use-after-free

    If no firmware was present at all (or, presumably, all of the
    firmware files failed to parse), we end up unbinding by calling
    device_release_driver(), which calls remove(), which then in
    iwlwifi calls iwl_drv_stop(), freeing the 'drv' struct. However
    the new code I added will still erroneously access it after it
    was freed.
    
    Set 'failure=false' in this case to avoid the access, all data
    was already freed anyway.
    
    Cc: stable@vger.kernel.org
    Reported-by: Stefan Agner <stefan@agner.ch>
    Reported-by: Wolfgang Walter <linux@stwm.de>
    Reported-by: Jason Self <jason@bluehome.net>
    Reported-by: Dominik Behr <dominik@dominikbehr.com>
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Fixes: ab07506 ("iwlwifi: fix leaks/bad data after failed firmware load")
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Kalle Valo <kvalo@kernel.org>
    Link: https://lore.kernel.org/r/20220208114728.e6b514cf4c85.Iffb575ca2a623d7859b542c33b2a507d01554251@changeid
    jmberg-intel authored and Kalle Valo committed Feb 10, 2022
  21. Merge branch 'mptcp-fixes-for-5-17'

    Mat Martineau says:
    
    ====================
    mptcp: Fixes for 5.17
    
    Patch 1 fixes a MPTCP selftest bug that combined the results of two
    separate tests in the test output.
    
    Patch 2 fixes a problem where advertised IPv6 addresses were not actually
    available for incoming MP_JOIN requests.
    ====================
    
    Link: https://lore.kernel.org/r/20220210012508.226880-1-mathew.j.martineau@linux.intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Feb 10, 2022
  22. mptcp: netlink: process IPv6 addrs in creating listening sockets

    This change updates mptcp_pm_nl_create_listen_socket() to create
    listening sockets bound to IPv6 addresses (where IPv6 is supported).
    
    Fixes: 1729cf1 ("mptcp: create the listening socket for new port")
    Acked-by: Geliang Tang <geliang.tang@suse.com>
    Signed-off-by: Kishen Maloor <kishen.maloor@intel.com>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kmaloor authored and Jakub Kicinski committed Feb 10, 2022
  23. selftests: mptcp: add missing join check

    This function also writes the name of the test with its ID, making clear
    a new test has been executed.
    
    Without that, the ADD_ADDR results from this test was appended at the
    end of the previous test causing confusions. Especially when the second
    test was failing, we had:
    
      17 signal invalid addresses     syn[ ok ] - synack[ ok ] - ack[ ok ]
                                      add[ ok ] - echo  [ ok ]
                                      add[fail] got 2 ADD_ADDR[s] expected 3
    
    In fact, this 17th test was OK but not the 18th one.
    
    Now we have:
    
      17 signal invalid addresses     syn[ ok ] - synack[ ok ] - ack[ ok ]
                                      add[ ok ] - echo  [ ok ]
      18 signal addresses race test   syn[fail] got 2 JOIN[s] syn expected 3
       - synack[fail] got 2 JOIN[s] synack expected
       - ack[fail] got 2 JOIN[s] ack expected 3
                                      add[fail] got 2 ADD_ADDR[s] expected 3
    
    Fixes: 33c563a ("selftests: mptcp: add_addr and echo race test")
    Reported-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    matttbe authored and Jakub Kicinski committed Feb 10, 2022
  24. net: usb: qmi_wwan: Add support for Dell DW5829e

    Dell DW5829e same as DW5821e except the CAT level.
    DW5821e supports CAT16 but DW5829e supports CAT9.
    Also, DW5829e includes normal and eSIM type.
    Please see below test evidence:
    
    T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  5 Spd=5000 MxCh= 0
    D:  Ver= 3.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs=  1
    P:  Vendor=413c ProdID=81e6 Rev=03.18
    S:  Manufacturer=Dell Inc.
    S:  Product=DW5829e Snapdragon X20 LTE
    S:  SerialNumber=0123456789ABCDEF
    C:  #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA
    I:  If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
    I:  If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
    I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    I:  If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    
    T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  7 Spd=5000 MxCh= 0
    D:  Ver= 3.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs=  1
    P:  Vendor=413c ProdID=81e4 Rev=03.18
    S:  Manufacturer=Dell Inc.
    S:  Product=DW5829e-eSIM Snapdragon X20 LTE
    S:  SerialNumber=0123456789ABCDEF
    C:  #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA
    I:  If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
    I:  If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
    I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    I:  If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    
    Signed-off-by: Slark Xiao <slark_xiao@163.com>
    Acked-by: Bjørn Mork <bjorn@mork.no>
    Link: https://lore.kernel.org/r/20220209024717.8564-1-slark_xiao@163.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    SlarkXiao authored and Jakub Kicinski committed Feb 10, 2022
Older