Subject: [GIT PULL] Networking for 5.16-rc1

From: Jakub Kicinski <[email-masked]>
Date: Thu, 11 Nov 2021 08:33:01 -0800

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 <[email-masked]>

----------------------------------------------------------------
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(-)