[GIT PULL] Networking for 5.17-rc1

From: Jakub Kicinski
Date: Wed Jan 19 2022 - 13:26:17 EST


Hi Linus!

Quite a handful of old regression fixes but of those all are pre-5.16.

The following changes since commit fe8152b38d3a994c4c6fdbc0cd6551d569a5715a:

Merge tag 'devprop-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm (2022-01-10 20:48:19 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git tags/net-5.17-rc1

for you to fetch changes up to ff9fc0a31d85fcf0011eb4bc4ecaf47d3cc9e21c:

Merge branch 'ipv4-avoid-pathological-hash-tables' (2022-01-19 08:14:43 -0800)

----------------------------------------------------------------
Networking fixes for 5.17-rc1, including fixes from netfilter, bpf.

Current release - regressions:

- fix memory leaks in the skb free deferral scheme if upper layer
protocols are used, i.e. in-kernel TCP readers like TLS

Current release - new code bugs:

- nf_tables: fix NULL check typo in _clone() functions

- change the default to y for Vertexcom vendor Kconfig

- a couple of fixes to incorrect uses of ref tracking

- two fixes for constifying netdev->dev_addr

Previous releases - regressions:

- bpf:
- various verifier fixes mainly around register offset handling
when passed to helper functions
- fix mount source displayed for bpffs (none -> bpffs)

- bonding:
- fix extraction of ports for connection hash calculation
- fix bond_xmit_broadcast return value when some devices are down

- phy: marvell: add Marvell specific PHY loopback

- sch_api: don't skip qdisc attach on ingress, prevent ref leak

- htb: restore minimal packet size handling in rate control

- sfp: fix high power modules without diagnostic monitoring

- mscc: ocelot:
- don't let phylink re-enable TX PAUSE on the NPI port
- don't dereference NULL pointers with shared tc filters

- smsc95xx: correct reset handling for LAN9514

- cpsw: avoid alignment faults by taking NET_IP_ALIGN into account

- phy: micrel: use kszphy_suspend/_resume for irq aware devices,
avoid races with the interrupt

Previous releases - always broken:

- xdp: check prog type before updating BPF link

- smc: resolve various races around abnormal connection termination

- sit: allow encapsulated IPv6 traffic to be delivered locally

- axienet: fix init/reset handling, add missing barriers,
read the right status words, stop queues correctly

- add missing dev_put() in sock_timestamping_bind_phc()

Misc:

- ipv4: prevent accidentally passing RTO_ONLINK to
ip_route_output_key_hash() by sanitizing flags

- ipv4: avoid quadratic behavior in netns dismantle

- stmmac: dwmac-oxnas: add support for OX810SE

- fsl: xgmac_mdio: add workaround for erratum A-009885

Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>

----------------------------------------------------------------
Alex Elder (3):
net: ipa: fix atomic update in ipa_endpoint_replenish()
net: ipa: use a bitmap for endpoint replenish_enabled
net: ipa: prevent concurrent replenish

Ard Biesheuvel (1):
net: cpsw: avoid alignment faults by taking NET_IP_ALIGN into account

Christophe JAILLET (1):
net: ethernet: sun4i-emac: Fix an error handling path in emac_probe()

Christy Lee (1):
bpf: Fix incorrect integer literal used for marking scratched stack.

Claudiu Beznea (1):
net: phy: micrel: use kszphy_suspend()/kszphy_resume for irq aware devices

Colin Ian King (3):
nfc: pn544: make array rset_cmd static const
net: phy: at803x: make array offsets static
atm: iphase: remove redundant pointer skb

Conley Lee (1):
net: ethernet: sun4i-emac: replace magic number with macro

Daniel Borkmann (7):
bpf: Generalize check_ctx_reg for reuse with other types
bpf: Mark PTR_TO_FUNC register initially with zero offset
bpf: Generally fix helper register offset check
bpf: Fix out of bounds access for ringbuf helpers
bpf: Fix ringbuf memory type confusion when passing to helpers
bpf, selftests: Add various ringbuf tests with invalid offset
bpf, selftests: Add ringbuf memory type confusion test

David S. Miller (4):
Merge branch 'ipa-fixes'
Merge branch 'smc-race-fixes'
Merge branch 'skb-leak-fixes'
Merge branch 'axienet-fixes'

Eric Dumazet (10):
net: sched: do not allocate a tracker in tcf_exts_init()
ref_tracker: use __GFP_NOFAIL more carefully
net: bridge: fix net device refcount tracking issue in error path
net/smc: fix possible NULL deref in smc_pnet_add_eth()
inet: frags: annotate races around fqdir->dead and fqdir->high_thresh
af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress
ipv4: update fib_info_cnt under spinlock protection
netns: add schedule point in ops_exit_list()
ipv4: avoid quadratic behavior in netns dismantle
ipv4: add net_hash_mix() dispersion to fib_info_laddrhash keys

Gal Pressman (2):
net/tls: Fix another skb memory leak when running kTLS traffic
net: Flush deferred skb free on socket destroy

Guillaume Nault (4):
xfrm: Don't accidentally set RTO_ONLINK in decode_session4()
gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst()
libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route()
mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get()

Horatiu Vultur (1):
net: ocelot: Fix the call to switchdev_bridge_port_offload

Ignat Korchagin (1):
sit: allow encapsulated IPv6 traffic to be delivered locally

Jakub Kicinski (5):
Merge branch 'ipv4-fix-accidental-rto_onlink-flags-passed-to-ip_route_output_key_hash'
Merge branch 'arm-ox810se-add-ethernet-support'
Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Merge branch 'net-fsl-xgmac_mdio-add-workaround-for-erratum-a-009885'
Merge branch 'ipv4-avoid-pathological-hash-tables'

Jie Wang (1):
net: bonding: fix bond_xmit_broadcast return value error bug

Jordy Zomer (1):
nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION

Kai-Heng Feng (1):
net: stmmac: Fix "Unbalanced pm_runtime_enable!" warning

Kevin Bracey (1):
net_sched: restore "mpu xxx" handling

Krzysztof Kozlowski (1):
nfc: llcp: fix NULL error pointer dereference on sendmsg() after failed bind()

Kyoungkyu Park (1):
net: qmi_wwan: Add Hucom Wireless HM-211S/K

Li Zhijian (2):
kselftests/net: adapt the timeout to the largest runtime
kselftests/net: list all available tests in usage()

Markus Reichl (1):
net: usb: Correct reset handling of smsc95xx

Matt Johnston (1):
mctp: test: zero out sockaddr

Maxim Mikityanskiy (1):
sch_api: Don't skip qdisc attach on ingress

Miaoqian Lin (1):
lib82596: Fix IRQ check in sni_82596_probe

Michael Ellerman (2):
net: apple: mace: Fix build since dev_addr constification
net: apple: bmac: Fix build since dev_addr constification

Michael Walle (1):
Revert "of: net: support NVMEM cells with MAC in text format"

Miroslav Lichvar (1):
net: fix sock_timestamping_bind_phc() to release device

Mohammad Athari Bin Ismail (1):
net: phy: marvell: add Marvell specific PHY loopback

Moshe Tal (1):
bonding: Fix extraction of ports from the packet headers

Neil Armstrong (2):
dt-bindings: net: oxnas-dwmac: Add bindings for OX810SE
net: stmmac: dwmac-oxnas: Add support for OX810SE

Pablo Neira Ayuso (1):
netfilter: nf_tables: typo NULL check in _clone() function

Pawel Dembicki (1):
net: qmi_wwan: add ZTE MF286D modem 19d2:1485

Robert Hancock (9):
net: axienet: increase reset timeout
net: axienet: Wait for PhyRstCmplt after core reset
net: axienet: reset core on initialization prior to MDIO access
net: axienet: add missing memory barriers
net: axienet: limit minimum TX ring size
net: axienet: Fix TX ring slot available check
net: axienet: fix number of TX ring slots for available check
net: axienet: fix for TX busy handling
net: axienet: increase default TX ring size to 128

Russell King (Oracle) (1):
net: sfp: fix high power modules without diagnostic monitoring

Saeed Mahameed (1):
Revert "net: vertexcom: default to disabled on kbuild"

Sergey Shtylyov (1):
bcmgenet: add WOL IRQ check

Slark Xiao (1):
net: wwan: Fix MRU mismatch issue which may lead to data connection lost

Tobias Waldekranz (4):
net/fsl: xgmac_mdio: Add workaround for erratum A-009885
dt-bindings: net: Document fsl,erratum-a009885
powerpc/fsl/dts: Enable WA for erratum A-009885 on fman3l MDIO buses
net/fsl: xgmac_mdio: Fix incorrect iounmap when removing module

Toke Høiland-Jørgensen (3):
xdp: check prog type before updating BPF link
bpf/selftests: convert xdp_link test to ASSERT_* macros
bpf/selftests: Add check for updating XDP bpf_link with wrong program type

Tom Rix (2):
net: ethernet: mtk_eth_soc: fix error checking in mtk_mac_config()
net: mscc: ocelot: fix using match before it is set

Vladimir Oltean (2):
net: mscc: ocelot: don't let phylink re-enable TX PAUSE on the NPI port
net: mscc: ocelot: don't dereference NULL pointers with shared tc filters

Wen Gu (5):
net/smc: Resolve the race between link group access and termination
net/smc: Introduce a new conn->lgr validity check helper
net/smc: Resolve the race between SMC-R link access and clear
net/smc: Remove unused function declaration
net/smc: Fix hung_task when removing SMC-R devices

Yafang Shao (1):
bpf: Fix mount source show for bpffs

Yevhen Orlov (4):
net: marvell: prestera: Cleanup router struct
net: marvell: prestera: Refactor get/put VR functions
net: marvell: prestera: Refactor router functions
net: marvell: prestera: Fix deinit sequence for router

Documentation/devicetree/bindings/net/fsl-fman.txt | 9 ++
.../devicetree/bindings/net/oxnas-dwmac.txt | 3 +
arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi | 2 +
drivers/atm/iphase.c | 4 +-
drivers/net/bonding/bond_main.c | 34 +++--
drivers/net/ethernet/allwinner/sun4i-emac.c | 31 +++--
drivers/net/ethernet/allwinner/sun4i-emac.h | 18 +++
drivers/net/ethernet/apple/bmac.c | 5 +-
drivers/net/ethernet/apple/mace.c | 16 ++-
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 10 +-
drivers/net/ethernet/chelsio/libcxgb/libcxgb_cm.c | 3 +-
drivers/net/ethernet/freescale/xgmac_mdio.c | 28 +++--
drivers/net/ethernet/i825xx/sni_82596.c | 3 +-
drivers/net/ethernet/marvell/prestera/prestera.h | 1 -
.../net/ethernet/marvell/prestera/prestera_hw.c | 4 +-
.../net/ethernet/marvell/prestera/prestera_main.c | 1 +
.../ethernet/marvell/prestera/prestera_router.c | 24 ++--
.../ethernet/marvell/prestera/prestera_router_hw.c | 40 +++---
.../ethernet/marvell/prestera/prestera_router_hw.h | 3 +-
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 2 +-
.../net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 5 +-
drivers/net/ethernet/mscc/ocelot.c | 5 +-
drivers/net/ethernet/mscc/ocelot_flower.c | 44 +++++--
drivers/net/ethernet/mscc/ocelot_net.c | 6 +-
drivers/net/ethernet/stmicro/stmmac/dwmac-oxnas.c | 101 +++++++++++----
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 +-
drivers/net/ethernet/ti/cpsw.c | 6 +-
drivers/net/ethernet/ti/cpsw_new.c | 6 +-
drivers/net/ethernet/ti/cpsw_priv.c | 2 +-
drivers/net/ethernet/vertexcom/Kconfig | 2 +-
drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 135 ++++++++++++--------
drivers/net/ipa/ipa_endpoint.c | 28 +++--
drivers/net/ipa/ipa_endpoint.h | 17 ++-
drivers/net/phy/at803x.c | 2 +-
drivers/net/phy/marvell.c | 56 ++++++++-
drivers/net/phy/micrel.c | 36 +++---
drivers/net/phy/sfp.c | 25 +++-
drivers/net/usb/qmi_wwan.c | 2 +
drivers/net/usb/smsc95xx.c | 3 +-
drivers/net/wwan/mhi_wwan_mbim.c | 4 +-
drivers/nfc/pn544/i2c.c | 2 +-
drivers/nfc/st21nfca/se.c | 10 ++
include/linux/bpf.h | 9 +-
include/linux/bpf_verifier.h | 4 +-
include/net/inet_frag.h | 11 +-
include/net/ipv6_frag.h | 3 +-
include/net/pkt_cls.h | 4 +-
include/net/sch_generic.h | 5 +
kernel/bpf/btf.c | 2 +-
kernel/bpf/inode.c | 14 ++-
kernel/bpf/verifier.c | 81 ++++++++----
lib/ref_tracker.c | 5 +-
net/bridge/br_if.c | 3 +-
net/core/dev.c | 6 +
net/core/net_namespace.c | 4 +-
net/core/of_net.c | 33 ++---
net/core/sock.c | 5 +
net/ipv4/fib_semantics.c | 76 ++++++------
net/ipv4/inet_fragment.c | 8 +-
net/ipv4/ip_fragment.c | 3 +-
net/ipv4/ip_gre.c | 5 +-
net/ipv6/sit.c | 2 +-
net/mctp/test/route-test.c | 2 +-
net/netfilter/nft_connlimit.c | 2 +-
net/netfilter/nft_last.c | 2 +-
net/netfilter/nft_limit.c | 2 +-
net/netfilter/nft_quota.c | 2 +-
net/nfc/llcp_sock.c | 5 +
net/sched/sch_api.c | 2 +-
net/sched/sch_generic.c | 1 +
net/smc/af_smc.c | 6 +-
net/smc/smc.h | 1 +
net/smc/smc_cdc.c | 3 +-
net/smc/smc_clc.c | 2 +-
net/smc/smc_core.c | 137 ++++++++++++++-------
net/smc/smc_core.h | 12 ++
net/smc/smc_diag.c | 6 +-
net/smc/smc_pnet.c | 3 +-
net/smc/smc_wr.h | 4 -
net/tls/tls_sw.c | 1 +
net/unix/garbage.c | 14 ++-
net/unix/scm.c | 6 +-
net/xfrm/xfrm_policy.c | 3 +-
tools/testing/selftests/bpf/prog_tests/d_path.c | 14 +++
tools/testing/selftests/bpf/prog_tests/xdp_link.c | 61 +++++----
.../selftests/bpf/progs/test_d_path_check_types.c | 32 +++++
tools/testing/selftests/bpf/progs/test_xdp_link.c | 6 +
tools/testing/selftests/bpf/verifier/ringbuf.c | 95 ++++++++++++++
tools/testing/selftests/bpf/verifier/spill_fill.c | 2 +-
tools/testing/selftests/net/fcnal-test.sh | 3 +
tools/testing/selftests/net/settings | 2 +-
91 files changed, 1041 insertions(+), 414 deletions(-)
create mode 100644 tools/testing/selftests/bpf/progs/test_d_path_check_types.c
create mode 100644 tools/testing/selftests/bpf/verifier/ringbuf.c