[GIT PULL] Networking for v6.8.0-rc6

From: Paolo Abeni
Date: Thu Feb 22 2024 - 07:20:20 EST


Hi Linus!

Notably one bpf fix required touching the arch specific x86 bits and it has
been acked by Thomas.

There is a known mptcp regression, the fix did not make it into this PR and
will land the next week.

The following changes since commit 359e54a93ab43d32ee1bff3c2f9f10cb9f6b6e79:

l2tp: pass correct message length to ip6_append_data (2024-02-22 10:42:17 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git tags/net-6.8.0-rc6

for you to fetch changes up to 359e54a93ab43d32ee1bff3c2f9f10cb9f6b6e79:

l2tp: pass correct message length to ip6_append_data (2024-02-22 10:42:17 +0100)

----------------------------------------------------------------
Including fixes from bpf and netfilter.

Current release - regressions:

- af_unix: fix another unix GC hangup

Previous releases - regressions:

- core: fix a possible AF_UNIX deadlock

- bpf: fix NULL pointer dereference in sk_psock_verdict_data_ready()

- netfilter: nft_flow_offload: release dst in case direct xmit path is used

- bridge: switchdev: ensure MDB events are delivered exactly once

- l2tp: pass correct message length to ip6_append_data

- dccp/tcp: unhash sk from ehash for tb2 alloc failure after check_estalblished()

- tls: fixes for record type handling with PEEK

- devlink: fix possible use-after-free and memory leaks in devlink_init()

Previous releases - always broken:

- bpf: fix an oops when attempting to read the vsyscall
page through bpf_probe_read_kernel

- sched: act_mirred: use the backlog for mirred ingress

- netfilter: nft_flow_offload: fix dst refcount underflow

- ipv6: sr: fix possible use-after-free and null-ptr-deref

- mptcp: fix several data races

- phonet: take correct lock to peek at the RX queue

Misc:

- handful of fixes and reliability improvements for selftests

Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>

----------------------------------------------------------------
The following changes since commit 4f5e5092fdbf5cec6bedc19fbe69cce4f5f08372:

Merge tag 'net-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2024-02-15 11:39:27 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git tags/net-6.8.0-rc6

for you to fetch changes up to 359e54a93ab43d32ee1bff3c2f9f10cb9f6b6e79:

l2tp: pass correct message length to ip6_append_data (2024-02-22 10:42:17 +0100)

----------------------------------------------------------------
Including fixes from bpf and netfilter.

Current release - regressions:

- af_unix: fix another unix GC hangup

Previous releases - regressions:

- core: fix a possible AF_UNIX deadlock

- bpf: fix NULL pointer dereference in sk_psock_verdict_data_ready()

- netfilter: nft_flow_offload: release dst in case direct xmit path is used

- bridge: switchdev: ensure MDB events are delivered exactly once

- l2tp: pass correct message length to ip6_append_data

- dccp/tcp: unhash sk from ehash for tb2 alloc failure after check_estalblished()

- tls: fixes for record type handling with PEEK

- devlink: fix possible use-after-free and memory leaks in devlink_init()

Previous releases - always broken:

- bpf: fix an oops when attempting to read the vsyscall
page through bpf_probe_read_kernel

- sched: act_mirred: use the backlog for mirred ingress

- netfilter: nft_flow_offload: fix dst refcount underflow

- ipv6: sr: fix possible use-after-free and null-ptr-deref

- mptcp: fix several data races

- phonet: take correct lock to peek at the RX queue

Misc:

- handful of fixes and reliability improvements for selftests

Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>

----------------------------------------------------------------
Alex Elder (1):
net: ipa: don't overrun IPA suspend interrupt registers

Alexander Gordeev (1):
net/iucv: fix the allocation size of iucv_path_table array

Alexei Starovoitov (1):
Merge branch 'fix-the-read-of-vsyscall-page-through-bpf'

David S. Miller (4):
Merge branch 'bridge-mdb-events'
Merge branch 'inet-fix-NLM_F_DUMP_INTR-logic'
Merge branch 'mptcp-fixes'
Merge branch 'bcmasp-fixes'

Eric Dumazet (3):
ipv4: properly combine dev_base_seq and ipv4.dev_addr_genid
ipv6: properly combine dev_base_seq and ipv6.dev_addr_genid
net: implement lockless setsockopt(SO_PEEK_OFF)

Florian Fainelli (1):
net: bcmasp: Indicate MAC is in charge of PHY PM

Florian Westphal (2):
netfilter: nf_tables: set dormant flag on hook register failure
netfilter: nf_tables: use kzalloc for hook allocation

Geliang Tang (2):
mptcp: add needs_id for userspace appending addr
mptcp: add needs_id for netlink appending addr

Gianmarco Lusvardi (1):
bpf, scripts: Correct GPL license name

Hangbin Liu (1):
selftests: bonding: set active slave to primary eth1 specifically

Hari Bathini (1):
bpf: Fix warning for bpf_cpumask in verifier

Horatiu Vultur (1):
net: sparx5: Add spinlock for frame transmission from CPU

Hou Tao (3):
x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h
x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault()
selftest/bpf: Test the read of vsyscall page under x86-64

Jakub Kicinski (7):
net/sched: act_mirred: use the backlog for mirred ingress
net/sched: act_mirred: don't override retval if we already lost the skb
docs: netdev: update the link to the CI repo
Merge branch 'tls-fixes-for-record-type-handling-with-peek'
tools: ynl: make sure we always pass yarg to mnl_cb_run
tools: ynl: don't leak mcast_groups on init error
Merge branch 'tools-ynl-fix-impossible-errors'

Jeremy Kerr (1):
net: mctp: put sock on tag allocation failure

Jianbo Liu (1):
net/sched: flower: Add lock protection when remove filter handle

Jiri Pirko (1):
devlink: fix port dump cmd type

Justin Chen (1):
net: bcmasp: Sanity check is off by one

Justin Iurman (2):
Fix write to cloned skb in ipv6_hop_ioam()
selftests: ioam: refactoring to align with the fix

Kees Cook (1):
enic: Avoid false positive under FORTIFY_SOURCE

Kuniyuki Iwashima (3):
dccp/tcp: Unhash sk from ehash for tb2 alloc failure after check_estalblished().
arp: Prevent overflow in arp_req_get().
af_unix: Drop oob_skb ref before purging queue in GC.

Kurt Kanzenbach (1):
net: stmmac: Fix EST offset for dwmac 5.10

Martin KaFai Lau (2):
bpf: Fix racing between bpf_timer_cancel_and_free and bpf_timer_cancel
selftests/bpf: Test racing between bpf_timer_cancel_and_free and bpf_timer_cancel

Matthieu Baerts (NGI0) (7):
selftests: mptcp: pm nl: also list skipped tests
selftests: mptcp: pm nl: avoid error msg on older kernels
selftests: mptcp: diag: fix bash warnings on older kernels
selftests: mptcp: simult flows: fix some subtest names
selftests: mptcp: userspace_pm: unique subtest names
selftests: mptcp: diag: unique 'in use' subtest names
selftests: mptcp: diag: unique 'cestab' subtest names

Pablo Neira Ayuso (3):
netfilter: nft_flow_offload: reset dst in route object after setting up flow
netfilter: nft_flow_offload: release dst in case direct xmit path is used
netfilter: nf_tables: register hooks last when adding new chain/flowtable

Paolo Abeni (7):
mptcp: fix lockless access in subflow ULP diag
mptcp: fix data races on local_id
mptcp: fix data races on remote_id
mptcp: fix duplicate subflow creation
Merge branch 'ioam6-fix-write-to-cloned-skb-s'
Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Merge tag 'nf-24-02-22' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf

Pavel Sakharov (1):
net: stmmac: Fix incorrect dereference in interrupt handlers

Randy Dunlap (1):
net: ethernet: adi: requires PHYLIB support

Rémi Denis-Courmont (2):
phonet: take correct lock to peek at the RX queue
phonet/pep: fix racy skb_queue_empty() use

Sabrina Dubroca (5):
tls: break out of main loop when PEEK gets a non-data record
tls: stop recv() if initial process_rx_list gave us non-DATA
tls: don't skip over different type records from the rx_list
selftests: tls: add test for merging of same-type control messages
selftests: tls: add test for peeking past a record of a different type

Sebastian Andrzej Siewior (1):
xsk: Add truesize to skb_add_rx_frag().

Shannon Nelson (1):
ionic: use pci_is_enabled not open code

Shigeru Yoshida (1):
bpf, sockmap: Fix NULL pointer dereference in sk_psock_verdict_data_ready()

Siddharth Vadapalli (1):
net: phy: realtek: Fix rtl8211f_config_init() for RTL8211F(D)(I)-VD-CG PHY

Simon Horman (1):
MAINTAINERS: Add framer headers to NETWORKING [GENERAL]

Subbaraya Sundeep (1):
octeontx2-af: Consider the action set by PF

Tobias Waldekranz (2):
net: bridge: switchdev: Skip MDB replays of deferred events on offload
net: bridge: switchdev: Ensure deferred event delivery on unoffload

Tom Parkin (1):
l2tp: pass correct message length to ip6_append_data

Vasiliy Kovalev (3):
ipv6: sr: fix possible use-after-free and null-ptr-deref
devlink: fix possible use-after-free and memory leaks in devlink_init()
gtp: fix use-after-free and null-ptr-deref in gtp_genl_dump_pdp()

Yafang Shao (2):
bpf: Fix an issue due to uninitialized bpf_iter_task
selftests/bpf: Add negtive test cases for task iter

Documentation/process/maintainer-netdev.rst | 2 +-
MAINTAINERS | 2 +
arch/x86/include/asm/vsyscall.h | 10 +++
arch/x86/mm/fault.c | 9 --
arch/x86/mm/maccess.c | 10 +++
drivers/net/ethernet/adi/Kconfig | 1 +
drivers/net/ethernet/broadcom/asp2/bcmasp.c | 6 +-
drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c | 3 +
drivers/net/ethernet/cisco/enic/vnic_vic.c | 3 +-
.../net/ethernet/marvell/octeontx2/af/rvu_npc.c | 4 +
.../net/ethernet/microchip/sparx5/sparx5_main.c | 1 +
.../net/ethernet/microchip/sparx5/sparx5_main.h | 1 +
.../net/ethernet/microchip/sparx5/sparx5_packet.c | 2 +
.../net/ethernet/pensando/ionic/ionic_bus_pci.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/hwif.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 20 -----
drivers/net/gtp.c | 10 +--
drivers/net/ipa/ipa_interrupt.c | 2 +-
drivers/net/phy/realtek.c | 4 +-
include/net/netfilter/nf_flow_table.h | 2 +-
include/net/switchdev.h | 3 +
include/net/tcp.h | 2 +-
kernel/bpf/helpers.c | 5 +-
kernel/bpf/task_iter.c | 2 +
kernel/bpf/verifier.c | 2 +
net/bridge/br_switchdev.c | 84 ++++++++++++-------
net/core/skmsg.c | 7 +-
net/core/sock.c | 23 +++---
net/devlink/core.c | 12 ++-
net/devlink/port.c | 2 +-
net/ipv4/arp.c | 3 +-
net/ipv4/devinet.c | 21 ++++-
net/ipv4/inet_hashtables.c | 25 +++++-
net/ipv4/udp.c | 7 +-
net/ipv6/addrconf.c | 21 ++++-
net/ipv6/exthdrs.c | 10 +++
net/ipv6/seg6.c | 20 +++--
net/iucv/iucv.c | 4 +-
net/l2tp/l2tp_ip6.c | 2 +-
net/mctp/route.c | 2 +-
net/mptcp/diag.c | 8 +-
net/mptcp/pm_netlink.c | 69 ++++++++++------
net/mptcp/pm_userspace.c | 15 ++--
net/mptcp/protocol.c | 2 +-
net/mptcp/protocol.h | 15 +++-
net/mptcp/subflow.c | 15 ++--
net/netfilter/nf_flow_table_core.c | 17 +++-
net/netfilter/nf_tables_api.c | 81 +++++++++---------
net/phonet/datagram.c | 4 +-
net/phonet/pep.c | 41 ++++++++--
net/sched/act_mirred.c | 36 ++++----
net/sched/cls_flower.c | 5 +-
net/switchdev/switchdev.c | 73 +++++++++++++++++
net/tls/tls_main.c | 2 +-
net/tls/tls_sw.c | 24 ++++--
net/unix/af_unix.c | 19 +----
net/unix/garbage.c | 22 ++---
net/xdp/xsk.c | 3 +-
scripts/bpf_doc.py | 2 +-
tools/net/ynl/lib/ynl.c | 19 ++++-
tools/testing/selftests/bpf/prog_tests/iters.c | 1 +
.../selftests/bpf/prog_tests/read_vsyscall.c | 57 +++++++++++++
tools/testing/selftests/bpf/prog_tests/timer.c | 35 +++++++-
tools/testing/selftests/bpf/progs/iters_task.c | 12 ++-
tools/testing/selftests/bpf/progs/read_vsyscall.c | 45 ++++++++++
tools/testing/selftests/bpf/progs/timer.c | 34 +++++++-
.../selftests/drivers/net/bonding/bond_options.sh | 2 +
.../testing/selftests/net/forwarding/tc_actions.sh | 3 -
tools/testing/selftests/net/ioam6.sh | 38 ++++-----
tools/testing/selftests/net/ioam6_parser.c | 95 +++++++++++-----------
tools/testing/selftests/net/mptcp/diag.sh | 41 ++++++----
tools/testing/selftests/net/mptcp/pm_netlink.sh | 8 +-
tools/testing/selftests/net/mptcp/simult_flows.sh | 3 +-
tools/testing/selftests/net/mptcp/userspace_pm.sh | 4 +-
tools/testing/selftests/net/tls.c | 45 ++++++++++
75 files changed, 870 insertions(+), 378 deletions(-)
create mode 100644 tools/testing/selftests/bpf/prog_tests/read_vsyscall.c
create mode 100644 tools/testing/selftests/bpf/progs/read_vsyscall.c