Single branch specified, using that and the previous one: remotes/brancher/net-next-2024-11-12--12-00 (v6.12-rc6-1477-gd8075ad654dc) remotes/brancher/net-next-2024-11-12--15-00 (v6.12-rc6-1495-g6018380e76a5) ==== BASE DIFF ==== Documentation/admin-guide/kernel-parameters.txt | 1 + .../devicetree/bindings/net/dsa/microchip,ksz.yaml | 20 + Documentation/fault-injection/fault-injection.rst | 40 ++ Documentation/netlink/specs/netdev.yaml | 7 + Documentation/netlink/specs/rt_neigh.yaml | 442 ++++++++++++ Documentation/netlink/specs/rt_rule.yaml | 242 +++++++ Documentation/netlink/specs/tc.yaml | 2 +- Documentation/networking/devlink/octeontx2.rst | 21 + Documentation/networking/devmem.rst | 9 + Documentation/networking/napi.rst | 170 ++++- .../networking/net_cachelines/net_device.rst | 1 + arch/xtensa/include/asm/page.h | 18 - drivers/isdn/hardware/mISDN/hfcmulti.c | 16 +- drivers/net/amt.c | 12 +- drivers/net/bonding/bond_main.c | 9 + drivers/net/can/vxcan.c | 12 +- drivers/net/dsa/microchip/ksz_common.c | 259 ++++++- drivers/net/dsa/microchip/ksz_common.h | 59 ++ drivers/net/dsa/microchip/lan937x.h | 2 + drivers/net/dsa/microchip/lan937x_main.c | 226 +++++- drivers/net/dsa/microchip/lan937x_reg.h | 4 + drivers/net/dummy.c | 17 +- .../net/ethernet/aquantia/atlantic/aq_pci_func.c | 6 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 +- drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c | 35 +- drivers/net/ethernet/marvell/octeontx2/af/rvu.h | 8 +- .../ethernet/marvell/octeontx2/af/rvu_devlink.c | 32 + .../net/ethernet/marvell/octeontx2/af/rvu_npc.c | 132 +++- .../net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c | 36 +- drivers/net/ethernet/mellanox/mlx5/core/cq.c | 11 + drivers/net/ethernet/mellanox/mlx5/core/en.h | 5 +- drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 2 +- .../ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c | 8 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 18 +- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 123 ++-- .../net/ethernet/mellanox/mlx5/core/en_selftest.c | 4 + drivers/net/ethernet/mellanox/mlx5/core/eq.c | 14 +- .../ethernet/mellanox/mlx5/core/esw/devlink_port.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c | 558 ++++++--------- drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h | 1 + drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 7 +- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 5 +- .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 31 +- drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 15 +- drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h | 2 +- drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c | 32 +- .../net/ethernet/netronome/nfp/nfp_net_common.c | 4 +- drivers/net/ethernet/realtek/r8169_main.c | 153 ++-- drivers/net/ethernet/sfc/ef10.c | 2 +- drivers/net/ethernet/sfc/ef100_nic.c | 2 +- drivers/net/ethernet/sfc/ethtool_common.c | 46 +- drivers/net/ethernet/sfc/falcon/ethtool.c | 34 +- drivers/net/ethernet/sfc/falcon/falcon.c | 2 +- drivers/net/ethernet/sfc/falcon/net_driver.h | 2 +- drivers/net/ethernet/sfc/falcon/nic.c | 9 +- drivers/net/ethernet/sfc/falcon/nic.h | 2 +- drivers/net/ethernet/sfc/net_driver.h | 2 +- drivers/net/ethernet/sfc/nic.c | 9 +- drivers/net/ethernet/sfc/nic_common.h | 2 +- drivers/net/ethernet/sfc/ptp.c | 2 +- drivers/net/ethernet/sfc/ptp.h | 2 +- drivers/net/ethernet/sfc/siena/ethtool_common.c | 46 +- drivers/net/ethernet/sfc/siena/net_driver.h | 2 +- drivers/net/ethernet/sfc/siena/nic.c | 14 +- drivers/net/ethernet/sfc/siena/nic_common.h | 5 +- drivers/net/ethernet/sfc/siena/ptp.c | 2 +- drivers/net/ethernet/sfc/siena/ptp.h | 2 +- drivers/net/ethernet/sfc/siena/siena.c | 2 +- drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 4 +- drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c | 4 +- drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c | 6 +- drivers/net/ethernet/ti/icssg/icssg_prueth.c | 45 +- drivers/net/ethernet/vertexcom/mse102x.c | 4 +- drivers/net/gtp.c | 16 +- drivers/net/ifb.c | 17 +- drivers/net/macsec.c | 70 +- drivers/net/mctp/mctp-i2c.c | 3 +- drivers/net/mctp/mctp-i3c.c | 2 +- drivers/net/mctp/mctp-serial.c | 5 +- drivers/net/netdevsim/netdev.c | 6 +- drivers/net/netkit.c | 11 +- drivers/net/phy/aquantia/aquantia_main.c | 52 ++ drivers/net/phy/bcm-phy-lib.c | 2 +- drivers/net/phy/phy-c45.c | 4 +- drivers/net/phy/phy_device.c | 23 - drivers/net/phy/phylink.c | 106 ++- drivers/net/veth.c | 18 +- drivers/net/vxlan/vxlan_core.c | 5 +- drivers/vhost/net.c | 2 +- fs/eventpoll.c | 36 +- include/linux/gfp.h | 22 - include/linux/mm_types.h | 18 - include/linux/mm_types_task.h | 21 + include/linux/netdevice.h | 9 + include/linux/page_frag_cache.h | 61 ++ include/linux/phy.h | 2 - include/linux/skbuff.h | 10 + include/net/busy_poll.h | 3 + include/net/dropreason-core.h | 26 + include/net/ip_fib.h | 12 + include/net/mctp.h | 18 + include/net/mctpdevice.h | 4 +- include/net/neighbour.h | 26 +- include/net/neighbour_tables.h | 12 + include/net/netlink.h | 262 +++++++ include/net/route.h | 40 +- include/net/rtnetlink.h | 8 +- include/trace/events/rxrpc.h | 25 + include/uapi/linux/if_link.h | 1 + include/uapi/linux/netdev.h | 1 + lib/Kconfig.debug | 10 + mm/Makefile | 1 + mm/page_alloc.c | 136 ---- mm/page_frag_cache.c | 171 +++++ net/8021q/vlan_netlink.c | 6 +- net/bridge/br_fdb.c | 9 +- net/bridge/br_netfilter_hooks.c | 13 +- net/core/Makefile | 1 + net/core/dev.c | 39 + net/core/dev.h | 25 + net/core/fib_rules.c | 3 +- net/core/lwt_bpf.c | 6 +- net/core/neighbour.c | 325 ++++----- net/core/net_namespace.c | 1 - net/core/netdev-genl-gen.c | 5 +- net/core/netdev-genl.c | 12 + net/core/rtnetlink.c | 262 +++++-- net/core/skb_fault_injection.c | 106 +++ net/core/skbuff.c | 6 +- net/core/sock.c | 42 +- net/dccp/ipv6.c | 2 +- net/devlink/dev.c | 6 +- net/hsr/hsr_device.c | 85 ++- net/hsr/hsr_forward.c | 19 +- net/hsr/hsr_netlink.c | 5 +- net/ieee802154/nl-mac.c | 15 +- net/ieee802154/nl802154.c | 26 +- net/ipv4/arp.c | 2 +- net/ipv4/devinet.c | 3 +- net/ipv4/fib_frontend.c | 17 +- net/ipv4/icmp.c | 2 +- net/ipv4/ip_fragment.c | 11 +- net/ipv4/ip_input.c | 20 +- net/ipv4/ip_options.c | 2 +- net/ipv4/ipmr.c | 6 +- net/ipv4/nexthop.c | 13 +- net/ipv4/route.c | 234 +++--- net/ipv6/addrconf.c | 7 +- net/ipv6/ila/ila_xlat.c | 15 +- net/ipv6/ioam6.c | 14 +- net/ipv6/ioam6_iptunnel.c | 6 +- net/ipv6/ip6_fib.c | 8 +- net/ipv6/ip6mr.c | 2 +- net/ipv6/route.c | 45 +- net/ipv6/seg6_local.c | 14 +- net/ipv6/tcp_ipv6.c | 4 +- net/mctp/device.c | 12 +- net/mptcp/protocol.c | 16 +- net/mptcp/subflow.c | 1 - net/netfilter/ipvs/ip_vs_ctl.c | 5 +- net/netfilter/nf_nat_core.c | 6 +- net/netfilter/nft_tunnel.c | 5 +- net/netlabel/netlabel_mgmt.c | 13 +- net/netlink/af_netlink.c | 31 +- net/netlink/af_netlink.h | 2 - net/openvswitch/datapath.c | 10 +- net/openvswitch/flow_netlink.c | 2 +- net/phonet/pn_dev.c | 5 +- net/phonet/pn_netlink.c | 12 +- net/rxrpc/conn_object.c | 4 +- net/rxrpc/local_object.c | 4 +- net/rxrpc/sendmsg.c | 1 + net/sched/act_ct.c | 10 +- net/sched/act_ctinfo.c | 8 +- net/sched/act_gate.c | 11 +- net/sched/act_mpls.c | 18 +- net/sched/act_police.c | 6 +- net/sched/cls_api.c | 47 +- net/sched/sch_choke.c | 2 +- net/sched/sch_gred.c | 2 +- net/sched/sch_htb.c | 4 +- net/sched/sch_qfq.c | 5 +- net/sched/sch_red.c | 2 +- net/sched/sch_taprio.c | 2 +- net/sctp/ipv6.c | 19 +- net/sunrpc/svcsock.c | 6 +- net/vmw_vsock/af_vsock.c | 3 + net/vmw_vsock/hyperv_transport.c | 1 + net/vmw_vsock/virtio_transport_common.c | 9 + net/wireless/nl80211.c | 54 +- net/xfrm/xfrm_user.c | 8 +- tools/include/uapi/linux/netdev.h | 1 + tools/testing/selftests/drivers/net/hw/.gitignore | 1 + tools/testing/selftests/drivers/net/hw/Makefile | 9 + tools/testing/selftests/drivers/net/hw/devmem.py | 45 ++ tools/testing/selftests/drivers/net/hw/ncdevmem.c | 789 +++++++++++++++++++++ .../testing/selftests/drivers/net/netcons_basic.sh | 7 +- .../selftests/drivers/net/netdevsim/Makefile | 2 + .../testing/selftests/drivers/net/netdevsim/config | 1 + .../drivers/net/netdevsim/ethtool-features.sh | 31 + .../drivers/net/netdevsim/macsec-offload.sh | 117 +++ tools/testing/selftests/mm/Makefile | 3 + tools/testing/selftests/mm/page_frag/Makefile | 18 + .../selftests/mm/page_frag/page_frag_test.c | 198 ++++++ tools/testing/selftests/mm/run_vmtests.sh | 8 + tools/testing/selftests/mm/test_page_frag.sh | 175 +++++ tools/testing/selftests/net/.gitignore | 3 +- tools/testing/selftests/net/Makefile | 5 +- tools/testing/selftests/net/busy_poll_test.sh | 165 +++++ tools/testing/selftests/net/busy_poller.c | 346 +++++++++ tools/testing/selftests/net/hsr/config | 1 + tools/testing/selftests/net/hsr/hsr_ping.sh | 98 +++ .../selftests/net/ipv6_route_update_soft_lockup.sh | 262 +++++++ tools/testing/selftests/net/ncdevmem.c | 570 --------------- tools/testing/selftests/net/netlink-dumps.c | 110 +++ tools/testing/selftests/net/pmtu.sh | 112 ++- tools/testing/selftests/net/rtnetlink.sh | 108 ++- 217 files changed, 6745 insertions(+), 2598 deletions(-) ==== COMMIT DIFF ==== diff --git a/tmp/tmp.MqulSkNxPJ b/tmp/tmp.TkNy2Ymx0a index 58d24f75f5ae..3562df3b8be3 100644 --- a/tmp/tmp.MqulSkNxPJ +++ b/tmp/tmp.TkNy2Ymx0a @@ -3,11 +3,17 @@ fs/9p: use kvzalloc/kvfree to allocate struct p9_rdir and its buffer tc_action dbg profile patch forwarding: set timeout to 3 hours +net: phy: dp83869: fix status reporting for 1000base-x autonegotiation +sunrpc: fix one UAF issue caused by sunrpc kernel tcp socket +net: phy: microchip_t1 : Add initialization of ptp for lan887x +net: phy: Makefile: Add makefile support for ptp in Microchip phys +net: phy: Kconfig: Add ptp library support and 1588 optional flag in Microchip phys +net: phy: microchip_ptp : Add ptp library for Microchip phys +net: phy: microchip_ptp : Add header file for Microchip ptp library netfilter: ipset: add missing range check in bitmap_ip_uadt bnxt_en: optimize gettimex64 mdio: Remove mdio45_ethtool_gset_npage() include: mdio: Remove mdio45_ethtool_gset() -net: dlink: add support for reporting stats via `ethtool -S` selftests: wireguard: load nf_conntrack if it's not present net: enetc: add UDP segmentation offload support net: enetc: add LSO support for i.MX95 ENETC PF @@ -53,8 +59,6 @@ bonding: add ns target multicast address to slave device net: ti: icssg-prueth: Fix 1 PPS sync net/ipv4/proc: Avoid usage for seq_printf() when reading /proc/net/snmp selftests: wireguards: use nft by default -rtase: Fix error code in rtase_init_one() -rtase: Add support for RTL907XD-VA PCIe port net: Make copy_safe_from_sockptr() match documentation dsa: qca8k: Use nested lock to avoid splat net: sched: cls_u32: Fix u32's systematic failure to free IDR entries for hnodes. @@ -95,160 +99,7 @@ ipv6/udp: Add 4-tuple hash for connected socket ipv4/udp: Add 4-tuple hash for connected socket net/udp: Add 4-tuple hash list basis net/udp: Add a new struct for hash2 slot -Avoid traversing addrconf hash on ifdown -cn10k-ipsec: Enable outbound ipsec crypto offload -cn10k-ipsec: Allow ipsec crypto offload for skb with SA -cn10k-ipsec: Process outbound ipsec crypto offload -cn10k-ipsec: Add SA add/del support for outb ipsec crypto offload -cn10k-ipsec: Init hardware for outbound ipsec crypto offload -octeontx2-af: Disable backpressure between CPT and NIX -octeontx2-pf: Move skb fragment map/unmap to common code -octeontx2-pf: map skb data as device writeable -eth: fbnic: Add support to dump registers -net: sched: cls_api: improve the error message for ID allocation failure mptcp: fix possible integer overflow in mptcp_reset_tout_timer -net: Implement fault injection forcing skb reallocation -Merge branch 'net-ip-add-drop-reasons-to-input-route' -net: ip: make ip_route_use_hint() return drop reasons -net: ip: make ip_mkroute_input/__mkroute_input return drop reasons -net: ip: make ip_route_input() return drop reasons -net: ip: make ip_route_input_noref() return drop reasons -net: ip: make ip_route_input_rcu() return drop reasons -net: ip: make ip_route_input_slow() return drop reasons -net: ip: make ip_mc_validate_source() return drop reason -net: ip: make ip_route_input_mc() return drop reason -net: ip: make fib_validate_source() support drop reasons -Merge branch 'mlx5-esw-qos-refactor-and-shampo-cleanup' -net/mlx5e: SHAMPO, Rework header allocation loop -net/mlx5e: SHAMPO, Drop info array -net/mlx5e: SHAMPO, Change frag page setup order during allocation -net/mlx5e: SHAMPO, Fix page_index calculation inconsistency -net/mlx5e: SHAMPO, Simplify UMR allocation for headers -net/mlx5: Make vport QoS enablement more flexible for future extensions -net/mlx5: Integrate esw_qos_vport_enable logic into rate operations -net/mlx5: Generalize scheduling element operations -net/mlx5: Refactor scheduling element configuration bitmasks -net/mlx5: Generalize max_rate and min_rate setting for nodes -net/mlx5: Simplify QoS normalization by removing error handling -net/mlx5: E-switch, refactor eswitch mode change -net: ipv4: Cache pmtu for all packet paths if multipath enabled -net: netconsole: selftests: Check if netdevsim is available -Merge branch 'net-phylink-phylink_resolve-cleanups' -net: phylink: clean up phylink_resolve() -net: phylink: remove switch() statement in resolve handling -net: phylink: move MLO_AN_PHY resolve handling to if() statement -net: phylink: move MLO_AN_FIXED resolve handling to if() statement -net: phylink: move manual flow control setting -Merge branch 'suspend-irqs-during-application-busy-periods' -docs: networking: Describe irq suspension -selftests: net: Add busy_poll_test -eventpoll: Control irq suspension for prefer_busy_poll -eventpoll: Trigger napi_busy_loop, if prefer_busy_poll is set -net: Add control functions for irq suspension -net: Add napi_struct parameter irq_suspend_timeout -bnxt_en: add unlocked version of bnxt_refclk_read -Merge branch 'rtnetlink-convert-rtnl_newlink-to-per-netns-rtnl' -rtnetlink: Register rtnl_dellink() and rtnl_setlink() with RTNL_FLAG_DOIT_PERNET_WIP. -rtnetlink: Convert RTM_NEWLINK to per-netns RTNL. -netkit: Set IFLA_NETKIT_PEER_INFO to netkit_link_ops.peer_type. -vxcan: Set VXCAN_INFO_PEER to vxcan_link_ops.peer_type. -veth: Set VETH_INFO_PEER to veth_link_ops.peer_type. -rtnetlink: Add peer_type in struct rtnl_link_ops. -rtnetlink: Introduce struct rtnl_nets and helpers. -rtnetlink: Remove __rtnl_link_register() -rtnetlink: Protect link_ops by mutex. -rtnetlink: Remove __rtnl_link_unregister(). -r8169: use helper r8169_mod_reg8_cond to simplify rtl_jumbo_config -Merge branch 'selftests-ncdevmem-add-ncdevmem-to-ksft' -selftests: ncdevmem: Add automated test -selftests: ncdevmem: Move ncdevmem under drivers/net/hw -selftests: ncdevmem: Run selftest when none of the -s or -c has been provided -selftests: ncdevmem: Remove hard-coded queue numbers -selftests: ncdevmem: Use YNL to enable TCP header split -selftests: ncdevmem: Properly reset flow steering -selftests: ncdevmem: Switch to AF_INET6 -selftests: ncdevmem: Remove default arguments -selftests: ncdevmem: Make client_ip optional -selftests: ncdevmem: Unify error handling -selftests: ncdevmem: Separate out dmabuf provider -selftests: ncdevmem: Redirect all non-payload output to stderr -Merge branch 'net-stmmac-dwmac4-fixes-issues-in-dwmac4' -net: stmmac: dwmac4: Receive Watchdog Timeout is not in abnormal interrupt summary -net: stmmac: dwmac4: Fix the MTL_OP_MODE_*_MASK operation -net: stmmac: dwmac4: Fix MTL_OP_MODE_RTC mask and shift macros -net: phy: aquantia: Add mdix config and reporting -Merge branch 'introduce-vlan-support-in-hsr' -selftests: hsr: Add test for VLAN -net: ti: icssg-prueth: Add VLAN support for HSR mode -net: hsr: Add VLAN CTAG filter support -net: hsr: Add VLAN support -Merge branch 'side-mdio-support-for-lan937x-switches' -net: dsa: microchip: parse PHY config from device tree -net: dsa: microchip: add support for side MDIO interface in LAN937x -net: dsa: microchip: cleanup error handling in ksz_mdio_register -net: dsa: microchip: Refactor MDIO handling for side MDIO access -dt-bindings: net: dsa: microchip: add mdio-parent-bus property for internal MDIO -dt-bindings: net: dsa: microchip: add internal MDIO bus description -net: atlantic: use irq_update_affinity_hint() -nfp: use irq_update_affinity_hint() -bnxt_en: use irq_update_affinity_hint() -rxrpc: Add a tracepoint for aborts being proposed -ipv6: Fix soft lockups in fib6_select_path under high next hop churn -Merge branch 'knobs-for-npc-default-rule-counters' -devlink: Add documentation for OcteonTx2 AF -octeontx2-af: Knobs for NPC default rule counters -octeontx2-af: Refactor few NPC mcam APIs -mlx5/core: deduplicate {mlx5_,}eq_update_ci() -mlx5/core: relax memory barrier in eq_update_ci() -Merge branch 'macsec-inherit-lower-device-s-features-and-tso-limits-when-offloading' -selftests: netdevsim: add ethtool features to macsec offload tests -selftests: netdevsim: add test toggling macsec offload -selftests: move macsec offload tests from net/rtnetlink to drivers/net/netdvesim -macsec: inherit lower device's TSO limits when offloading -macsec: clean up local variables in macsec_notify -macsec: add some of the lower device's features when offloading -selftests: netdevsim: add a test checking ethtool features -netdevsim: add more hw_features -Merge branch 'replace-page_frag-with-page_frag_cache-part-1' -mm: page_frag: use __alloc_pages() to replace alloc_pages_node() -mm: page_frag: reuse existing space for 'size' and 'pfmemalloc' -xtensa: remove the get_order() implementation -mm: page_frag: avoid caller accessing 'page_frag_cache' directly -mm: page_frag: use initial zero offset for page_frag_alloc_align() -mm: move the page fragment allocator from page_alloc into its own file -mm: page_frag: add a test module for page_frag -net: convert to nla_get_*_default() -net: netlink: add nla_get_*_default() accessors -bridge: Allow deleting FDB entries with non-existent VLAN -mlx5/core: Schedule EQ comp tasklet only if necessary -Merge branch 'improve-neigh_flush_dev-performance' -neighbour: Create netdev->neighbour association -neighbour: Remove bare neighbour::next pointer -neighbour: Convert iteration to use hlist+macro -neighbour: Convert seq_file functions to use hlist -neighbour: Define neigh_for_each_in_bucket -neighbour: Add hlist_node to struct neighbour -Merge branch 'r8169-improve-wol-suspend-related-code' -r8169: align WAKE_PHY handling with r8125/r8126 vendor drivers -r8169: improve rtl_set_d3_pll_down -r8169: improve __rtl8169_set_wol -tc: fix typo probabilty in tc.yaml doc -mISDN: Fix typos -hv_sock: Initializing vsk->trans to NULL to prevent a dangling pointer -net: sfc: use ethtool string helpers -mptcp: remove the redundant assignment of 'new_ctx->tcp_sock' in subflow_ulp_clone() -net: mctp: Expose transport binding identifier via IFLA attribute -bonding: add ESP offload features when slaves support -Merge branch 'netlink-specs-add-neigh-and-rule-ynl-specs' -netlink: specs: Add a spec for FIB rule management -netlink: specs: Add a spec for neighbor tables in rtnetlink -phonet: do not call synchronize_rcu() from phonet_route_del() -ipv4: Prepare ip_route_output() to future .flowi4_tos conversion. -Merge branch 'net-phy-remove-genphy_config_eee_advert' -net: phy: remove genphy_config_eee_advert -net: phy: broadcom: use genphy_c45_an_config_eee_aneg in bcm_config_lre_aneg -net: phy: export genphy_c45_an_config_eee_aneg -net: phy: make genphy_c45_write_eee_adv() static vdpa/mlx5: Fix error path during device add vp_vdpa: fix id_table array not null terminated error virtio_pci: Fix admin vq cleanup by using correct info pointer