[GIT PULL] Networking for 5.16-rc1

From: Jakub Kicinski
Date: Thu Nov 11 2021 - 11:33:19 EST


Hi Linus!

The following changes since commit cc0356d6a02e064387c16a83cb96fe43ef33181e:

Merge tag 'x86_core_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2021-11-02 07:56:47 -0700)

are available in the Git repository at:

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

for you to fetch changes up to d336509cb9d03970911878bb77f0497f64fda061:

selftests/net: udpgso_bench_rx: fix port argument (2021-11-11 12:24:26 +0000)

----------------------------------------------------------------
Networking fixes for 5.16-rc1, including fixes from bpf, can
and netfilter.

Current release - regressions:

- bpf: do not reject when the stack read size is different
from the tracked scalar size

- net: fix premature exit from NAPI state polling in napi_disable()

- riscv, bpf: fix RV32 broken build, and silence RV64 warning

Current release - new code bugs:

- net: fix possible NULL deref in sock_reserve_memory

- amt: fix error return code in amt_init(); fix stopping the workqueue

- ax88796c: use the correct ioctl callback

Previous releases - always broken:

- bpf: stop caching subprog index in the bpf_pseudo_func insn

- security: fixups for the security hooks in sctp

- nfc: add necessary privilege flags in netlink layer, limit operations
to admin only

- vsock: prevent unnecessary refcnt inc for non-blocking connect

- net/smc: fix sk_refcnt underflow on link down and fallback

- nfnetlink_queue: fix OOB when mac header was cleared

- can: j1939: ignore invalid messages per standard

- bpf, sockmap:
- fix race in ingress receive verdict with redirect to self
- fix incorrect sk_skb data_end access when src_reg = dst_reg
- strparser, and tls are reusing qdisc_skb_cb and colliding

- ethtool: fix ethtool msg len calculation for pause stats

- vlan: fix a UAF in vlan_dev_real_dev() when ref-holder tries
to access an unregistering real_dev

- udp6: make encap_rcv() bump the v6 not v4 stats

- drv: prestera: add explicit padding to fix m68k build

- drv: felix: fix broken VLAN-tagged PTP under VLAN-aware bridge

- drv: mvpp2: fix wrong SerDes reconfiguration order

Misc & small latecomers:

- ipvs: auto-load ipvs on genl access

- mctp: sanity check the struct sockaddr_mctp padding fields

- libfs: support RENAME_EXCHANGE in simple_rename()

- avoid double accounting for pure zerocopy skbs

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

----------------------------------------------------------------
Aleksander Jan Bajkowski (1):
net: ethernet: lantiq_etop: Fix compilation error

Alexander Lobakin (1):
net: fix premature exit from NAPI state polling in napi_disable()

Alexei Starovoitov (1):
Merge branch 'bpf: Fix out-of-bound issue when jit-ing bpf_pseudo_func'

Alexey Khoroshilov (1):
sctp: remove unreachable code from sctp_sf_violation_chunk()

Anders Roxell (1):
selftests: net: tls: remove unused variable and code

Andrea Righi (2):
selftests: net: properly support IPv6 in GSO GRE test
selftests: net: test_vxlan_under_vrf: fix HV connectivity test

Andrii Nakryiko (1):
selftests/bpf: Make netcnt selftests serial to avoid spurious failures

Ansuel Smith (1):
net: dsa: qca8k: make sure PAD0 MAC06 exchange is disabled

Arnd Bergmann (4):
octeontx2-pf: select CONFIG_NET_DEVLINK
ax88796c: fix ioctl callback
octeontx2-nicvf: fix ioctl callback
amt: add IPV6 Kconfig dependency

Björn Töpel (1):
riscv, bpf: Fix RV32 broken build, and silence RV64 warning

Brett Creeley (4):
ice: Fix VF true promiscuous mode
ice: Remove toggling of antispoof for VF trusted promiscuous mode
ice: Fix not stopping Tx queues for VFs
ice: Fix race conditions between virtchnl handling and VF ndo ops

Chengfeng Ye (1):
nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails

Christophe JAILLET (2):
litex_liteeth: Fix a double free in the remove function
net: ethernet: ti: cpsw_ale: Fix access to un-initialized memory

Colin Ian King (1):
net: mana: Fix spelling mistake "calledd" -> "called"

Dan Carpenter (3):
gve: Fix off by one in gve_tx_timeout()
gve: fix unmatched u64_stats_update_end()
net/mlx5: Lag, fix a potential Oops with mlx5_lag_create_definer()

David S. Miller (4):
Merge branch 'kselftests-net-missing'
Merge branch 'sctp-=security-hook-fixes'
Merge tag 'linux-can-fixes-for-5.16-20211106' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can
Merge branch 'hns3-fixes'

Dust Li (1):
net/smc: fix sk_refcnt underflow on linkdown and fallback

Eiichi Tsukata (1):
vsock: prevent unnecessary refcnt inc for nonblocking connect

Eric Dumazet (4):
net: add and use skb_unclone_keeptruesize() helper
net: fix possible NULL deref in sock_reserve_memory
llc: fix out-of-bound array index in llc_sk_dev_hash()
net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any

Eugene Syromiatnikov (2):
mctp: handle the struct sockaddr_mctp padding fields
mctp: handle the struct sockaddr_mctp_ext padding field

Florian Westphal (1):
netfilter: nfnetlink_queue: fix OOB when mac header was cleared

Geert Uytterhoeven (1):
net: marvell: prestera: Add explicit padding

Guangbin Huang (4):
net: hns3: fix failed to add reuse multicast mac addr to hardware when mc mac table is full
net: hns3: fix some mac statistics is always 0 in device version V2
net: hns3: remove check VF uc mac exist when set by PF
net: hns3: allow configure ETS bandwidth of all TCs

Guo Zhengkui (1):
devlink: fix flexible_array.cocci warning

Hangbin Liu (9):
kselftests/net: add missed icmp.sh test to Makefile
kselftests/net: add missed setup_loopback.sh/setup_veth.sh to Makefile
kselftests/net: add missed SRv6 tests
kselftests/net: add missed vrf_strict_mode_test.sh test to Makefile
kselftests/net: add missed toeplitz.sh/toeplitz_client.sh to Makefile
selftests/bpf/xdp_redirect_multi: Put the logs to tmp folder
selftests/bpf/xdp_redirect_multi: Use arping to accurate the arp number
selftests/bpf/xdp_redirect_multi: Give tcpdump a chance to terminate cleanly
selftests/bpf/xdp_redirect_multi: Limit the tests in netns

Heiner Kallweit (1):
net: phy: fix duplex out of sync problem while changing settings

Huang Guobin (1):
bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed

Jakub Kicinski (7):
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
ethtool: fix ethtool msg len calculation for pause stats
Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue
Merge branch 'mctp-sockaddr-padding-check-initialisation-fixup'
net: ax88796c: hide ax88796c_dt_ids if !CONFIG_OF
Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

Jean Sacren (1):
net: sungem_phy: fix code indentation

Jiapeng Chong (1):
amt: Remove duplicate include

Jie Wang (2):
net: hns3: fix ROCE base interrupt vector initialization bug
net: hns3: fix pfc packet number incorrect after querying pfc parameters

John Fastabend (4):
bpf, sockmap: Use stricter sk state checks in sk_lookup_assign
bpf, sockmap: Remove unhash handler for BPF sockmap usage
bpf, sockmap: Fix race in ingress receive verdict with redirect to self
bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding

Jussi Maki (1):
bpf, sockmap: sk_skb data_end access incorrect when src_reg = dst_reg

Kleber Sacilotto de Souza (1):
selftests/net: Fix reuseport_bpf_numa by skipping unavailable nodes

Krzysztof Kozlowski (1):
nfc: port100: lower verbosity of cancelled URB messages

Leonard Crestez (1):
tcp: Use BIT() for OPTION_* constants

Lin Ma (3):
NFC: add necessary privilege flags in netlink layer
hamradio: defer ax25 kfree after unregister_netdev
hamradio: defer 6pack kfree after unregister_netdev

Lorenz Bauer (4):
libfs: Move shmem_exchange to simple_rename_exchange
libfs: Support RENAME_EXCHANGE in simple_rename()
selftests/bpf: Convert test_bpffs to ASSERT macros
selftests/bpf: Test RENAME_EXCHANGE and RENAME_NOREPLACE on bpffs

M Chetan Kumar (1):
net: wwan: iosm: fix compilation warning

Marc Kleine-Budde (2):
can: mcp251xfd: mcp251xfd_irq(): add missing can_rx_offload_threaded_irq_finish() in case of bus off
can: mcp251xfd: mcp251xfd_chip_start(): fix error handling for mcp251xfd_chip_rx_int_enable()

Marek Behún (2):
net: dsa: mv88e6xxx: Don't support >1G speeds on 6191X on ports other than 10
net: marvell: mvpp2: Fix wrong SerDes reconfiguration order

Martin KaFai Lau (4):
bpf: Do not reject when the stack read size is different from the tracked scalar size
selftests/bpf: Verifier test on refill from a smaller spill
bpf: Stop caching subprog index in the bpf_pseudo_func insn
bpf: selftest: Trigger a DCE on the whole subprog

Maxim Kiselev (1):
net: davinci_emac: Fix interrupt pacing disable

Mehrdad Arshad Rad (1):
libbpf: Fix lookup_and_delete_elem_flags error reporting

Menglong Dong (2):
net: udp6: replace __UDP_INC_STATS() with __UDP6_INC_STATS()
net: udp: correct the document for udp_mem

Nghia Le (1):
ipv6: remove useless assignment to newinet in tcp_v6_syn_recv_sock()

Petr Machata (1):
selftests: forwarding: Fix packet matching in mirroring selftests

Quentin Monnet (1):
bpftool: Install libbpf headers for the bootstrap version, too

Rahul Lakkireddy (1):
cxgb4: fix eeprom len when diagnostics not implemented

Randy Dunlap (1):
net: hisilicon: fix hsn3_ethtool kernel-doc warnings

Shay Agroskin (1):
MAINTAINERS: Update ENA maintainers information

Stephane Grosjean (2):
can: peak_usb: always ask for BERR reporting for PCAN-USB devices
can: peak_usb: exchange the order of information messages

Sylwester Dziedziuch (1):
ice: Fix replacing VF hardware MAC to existing MAC filter

Taehee Yoo (1):
amt: use cancel_delayed_work() instead of flush_delayed_work() in amt_fini()

Talal Ahmad (1):
net: avoid double accounting for pure zerocopy skbs

Thomas Weißschuh (1):
ipvs: autoload ipvs on genl access

Tony Lu (1):
net/smc: Print function name in smcr_link_down tracepoint

Vincent Mailhol (1):
can: etas_es58x: es58x_rx_err_msg(): fix memory leak in error path

Vladimir Oltean (2):
net: dsa: felix: fix broken VLAN-tagged PTP under VLAN-aware bridge
net: stmmac: allow a tc-taprio base-time of zero

Volodymyr Mytnyk (2):
net: marvell: prestera: fix patchwork build problems
net: marvell: prestera: fix hw structure laid out

Wan Jiabing (1):
bnxt_en: avoid newline at end of message in NL_SET_ERR_MSG_MOD

Willem de Bruijn (1):
selftests/net: udpgso_bench_rx: fix port argument

Xin Long (4):
security: pass asoc to sctp_assoc_request and sctp_sk_clone
security: call security_sctp_assoc_request in sctp_sf_do_5_1D_ce
security: add sctp_assoc_established hook
security: implement sctp_assoc_established hook in selinux

Xu Wang (1):
net: ethernet: litex: Remove unnecessary print function dev_err()

Yang Guang (2):
octeontx2-af: use swap() to make code cleaner
sfc: use swap() to make code cleaner

Yang Li (1):
amt: Fix NULL but dereferenced coccicheck error

Yang Yingliang (1):
amt: fix error return code in amt_init()

Yufeng Mo (2):
net: hns3: sync rx ring head in echo common pull
net: hns3: fix kernel crash when unload VF while it is being reset

Yuiko Oshino (1):
net: phy: microchip_t1: add lan87xx_config_rgmii_delay for lan87xx phy

Zhang Changzhong (3):
can: j1939: j1939_tp_cmd_recv(): ignore abort message in the BAM transport
can: j1939: j1939_can_recv(): ignore messages with invalid source address
can: j1939: j1939_tp_cmd_recv(): check the dst address of TP.CM_BAM

Zhang Mingyu (2):
net:ipv6:Remove unneeded semicolon
amt: remove duplicate include in amt.c

Ziyang Xuan (1):
net: vlan: fix a UAF in vlan_dev_real_dev()

luo penghao (1):
tg3: Remove redundant assignments

Documentation/networking/ip-sysctl.rst | 6 +-
Documentation/security/SCTP.rst | 65 +++++-----
MAINTAINERS | 5 +-
arch/riscv/mm/extable.c | 4 +-
arch/riscv/net/bpf_jit_comp64.c | 2 +
drivers/net/Kconfig | 1 +
drivers/net/amt.c | 11 +-
drivers/net/bonding/bond_sysfs_slave.c | 36 ++----
drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c | 6 +-
drivers/net/can/usb/etas_es58x/es58x_core.c | 6 +-
drivers/net/can/usb/peak_usb/pcan_usb.c | 27 ++--
drivers/net/dsa/mv88e6xxx/chip.c | 5 +-
drivers/net/dsa/ocelot/felix.c | 9 +-
drivers/net/dsa/qca8k.c | 8 ++
drivers/net/dsa/qca8k.h | 1 +
drivers/net/ethernet/asix/ax88796c_main.c | 4 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 2 +-
drivers/net/ethernet/broadcom/tg3.c | 1 -
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c | 7 +-
drivers/net/ethernet/chelsio/cxgb4/t4_hw.h | 2 +
drivers/net/ethernet/google/gve/gve_main.c | 2 +-
drivers/net/ethernet/google/gve/gve_rx.c | 3 +-
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 7 +
drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 6 +-
.../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 1 +
.../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 1 +
.../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 20 ++-
.../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 106 ++++++---------
.../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 8 +-
.../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 77 +++++------
.../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 4 +-
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 32 +++++
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h | 9 ++
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 10 +-
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 4 +-
drivers/net/ethernet/intel/ice/ice.h | 5 +-
drivers/net/ethernet/intel/ice/ice_base.c | 2 +-
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c | 141 ++++++++++----------
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.h | 5 +
drivers/net/ethernet/lantiq_etop.c | 2 +-
drivers/net/ethernet/litex/litex_liteeth.c | 5 +-
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 38 +++---
drivers/net/ethernet/marvell/octeontx2/Kconfig | 1 +
.../net/ethernet/marvell/octeontx2/af/rvu_npc.c | 4 +-
.../net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 2 +-
.../ethernet/marvell/prestera/prestera_ethtool.c | 3 +-
.../net/ethernet/marvell/prestera/prestera_hw.c | 144 ++++++++++++---------
.../net/ethernet/marvell/prestera/prestera_main.c | 6 +-
.../net/ethernet/marvell/prestera/prestera_pci.c | 3 +-
.../net/ethernet/mellanox/mlx5/core/lag/port_sel.c | 2 +-
drivers/net/ethernet/microsoft/mana/gdma_main.c | 2 +-
drivers/net/ethernet/sfc/falcon/efx.c | 8 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c | 2 -
drivers/net/ethernet/ti/cpsw_ale.c | 6 +-
drivers/net/ethernet/ti/davinci_emac.c | 16 ++-
drivers/net/hamradio/6pack.c | 6 +-
drivers/net/hamradio/mkiss.c | 9 +-
drivers/net/phy/microchip_t1.c | 44 ++++++-
drivers/net/phy/phy.c | 7 +-
drivers/net/sungem_phy.c | 2 +-
drivers/net/wwan/iosm/iosm_ipc_imem_ops.c | 2 -
drivers/nfc/pn533/pn533.c | 6 +-
drivers/nfc/port100.c | 6 +-
fs/libfs.c | 29 ++++-
include/linux/bpf.h | 6 +
include/linux/dsa/ocelot.h | 1 +
include/linux/ethtool_netlink.h | 3 +
include/linux/fs.h | 2 +
include/linux/lsm_hook_defs.h | 6 +-
include/linux/lsm_hooks.h | 13 +-
include/linux/security.h | 17 ++-
include/linux/skbuff.h | 35 ++++-
include/linux/skmsg.h | 12 ++
include/net/llc.h | 4 +-
include/net/sctp/structs.h | 20 +--
include/net/strparser.h | 20 ++-
include/net/tcp.h | 8 +-
include/uapi/linux/ethtool_netlink.h | 4 +-
kernel/bpf/core.c | 7 +
kernel/bpf/verifier.c | 55 +++-----
mm/shmem.c | 24 +---
net/8021q/vlan.c | 3 -
net/8021q/vlan_dev.c | 3 +
net/can/j1939/main.c | 7 +
net/can/j1939/transport.c | 11 ++
net/core/datagram.c | 3 +-
net/core/dev.c | 7 +-
net/core/devlink.c | 2 +-
net/core/filter.c | 64 +++++++--
net/core/skbuff.c | 17 +--
net/core/sock.c | 2 +-
net/core/sock_map.c | 6 -
net/dsa/tag_ocelot.c | 3 +
net/ethtool/pause.c | 3 +-
net/ipv4/tcp.c | 22 +++-
net/ipv4/tcp_bpf.c | 48 ++++++-
net/ipv4/tcp_output.c | 27 ++--
net/ipv6/seg6.c | 2 +-
net/ipv6/tcp_ipv6.c | 1 -
net/ipv6/udp.c | 6 +-
net/mctp/af_mctp.c | 24 +++-
net/netfilter/ipvs/ip_vs_ctl.c | 2 +
net/netfilter/nfnetlink_queue.c | 2 +-
net/nfc/netlink.c | 15 +++
net/sched/sch_taprio.c | 27 ++--
net/sctp/sm_statefuns.c | 34 ++---
net/sctp/socket.c | 5 +-
net/smc/af_smc.c | 18 ++-
net/smc/smc_tracepoint.h | 2 +-
net/strparser/strparser.c | 10 +-
net/vmw_vsock/af_vsock.c | 2 +
security/security.c | 15 ++-
security/selinux/hooks.c | 34 +++--
security/selinux/include/netlabel.h | 4 +-
security/selinux/netlabel.c | 18 +--
tools/bpf/bpftool/Makefile | 32 +++--
tools/lib/bpf/bpf.c | 4 +-
tools/testing/selftests/bpf/prog_tests/netcnt.c | 2 +-
.../testing/selftests/bpf/prog_tests/test_bpffs.c | 85 ++++++++++--
.../selftests/bpf/progs/for_each_array_map_elem.c | 12 ++
.../selftests/bpf/test_xdp_redirect_multi.sh | 62 +++++----
tools/testing/selftests/bpf/verifier/spill_fill.c | 17 +++
tools/testing/selftests/bpf/xdp_redirect_multi.c | 4 +-
tools/testing/selftests/net/Makefile | 9 +-
.../net/forwarding/mirror_gre_bridge_1d_vlan.sh | 2 +-
.../selftests/net/forwarding/mirror_gre_changes.sh | 2 +-
.../net/forwarding/mirror_gre_vlan_bridge_1q.sh | 13 +-
.../testing/selftests/net/forwarding/mirror_lib.sh | 3 +-
.../selftests/net/forwarding/mirror_vlan.sh | 4 +-
tools/testing/selftests/net/gre_gso.sh | 9 +-
tools/testing/selftests/net/reuseport_bpf_numa.c | 4 +
.../testing/selftests/net/test_vxlan_under_vrf.sh | 2 +
tools/testing/selftests/net/tls.c | 3 -
tools/testing/selftests/net/udpgso_bench_rx.c | 11 +-
134 files changed, 1242 insertions(+), 730 deletions(-)