# git rev-parse -q --verify 1b294a1f35616977caddaddf3e9d28e576a1adbc^{commit} 1b294a1f35616977caddaddf3e9d28e576a1adbc already have revision, skipping fetch # git checkout -q -f -B kisskb 1b294a1f35616977caddaddf3e9d28e576a1adbc # git clean -qxdf # < git log -1 # commit 1b294a1f35616977caddaddf3e9d28e576a1adbc # Merge: b850dc206a57 654de42f3fc6 # Author: Linus Torvalds # Date: Tue May 14 19:42:24 2024 -0700 # # Merge tag 'net-next-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next # # Pull networking updates from Jakub Kicinski: # "Core & protocols: # # - Complete rework of garbage collection of AF_UNIX sockets. # # AF_UNIX is prone to forming reference count cycles due to fd # passing functionality. New method based on Tarjan's Strongly # Connected Components algorithm should be both faster and remove a # lot of workarounds we accumulated over the years. # # - Add TCP fraglist GRO support, allowing chaining multiple TCP # packets and forwarding them together. Useful for small switches / # routers which lack basic checksum offload in some scenarios (e.g. # PPPoE). # # - Support using SMP threads for handling packet backlog i.e. packet # processing from software interfaces and old drivers which don't use # NAPI. This helps move the processing out of the softirq jumble. # # - Continue work of converting from rtnl lock to RCU protection. # # Don't require rtnl lock when reading: IPv6 routing FIB, IPv6 # address labels, netdev threaded NAPI sysfs files, bonding driver's # sysfs files, MPLS devconf, IPv4 FIB rules, netns IDs, tcp metrics, # TC Qdiscs, neighbor entries, ARP entries via ioctl(SIOCGARP), a lot # of the link information available via rtnetlink. # # - Small optimizations from Eric to UDP wake up handling, memory # accounting, RPS/RFS implementation, TCP packet sizing etc. # # - Allow direct page recycling in the bulk API used by XDP, for +2% # PPS. # # - Support peek with an offset on TCP sockets. # # - Add MPTCP APIs for querying last time packets were received/sent/acked # and whether MPTCP "upgrade" succeeded on a TCP socket. # # - Add intra-node communication shortcut to improve SMC performance. # # - Add IPv6 (and IPv{4,6}-over-IPv{4,6}) support to the GTP protocol # driver. # # - Add HSR-SAN (RedBOX) mode of operation to the HSR protocol driver. # # - Add reset reasons for tracing what caused a TCP reset to be sent. # # - Introduce direction attribute for xfrm (IPSec) states. State can be # used either for input or output packet processing. # # Things we sprinkled into general kernel code: # # - Add bitmap_{read,write}(), bitmap_size(), expose BYTES_TO_BITS(). # # This required touch-ups and renaming of a few existing users. # # - Add Endian-dependent __counted_by_{le,be} annotations. # # - Make building selftests "quieter" by printing summaries like # "CC object.o" rather than full commands with all the arguments. # # Netfilter: # # - Use GFP_KERNEL to clone elements, to deal better with OOM # situations and avoid failures in the .commit step. # # BPF: # # - Add eBPF JIT for ARCv2 CPUs. # # - Support attaching kprobe BPF programs through kprobe_multi link in # a session mode, meaning, a BPF program is attached to both function # entry and return, the entry program can decide if the return # program gets executed and the entry program can share u64 cookie # value with return program. "Session mode" is a common use-case for # tetragon and bpftrace. # # - Add the ability to specify and retrieve BPF cookie for raw # tracepoint programs in order to ease migration from classic to raw # tracepoints. # # - Add an internal-only BPF per-CPU instruction for resolving per-CPU # memory addresses and implement support in x86, ARM64 and RISC-V # JITs. This allows inlining functions which need to access per-CPU # state. # # - Optimize x86 BPF JIT's emit_mov_imm64, and add support for various # atomics in bpf_arena which can be JITed as a single x86 # instruction. Support BPF arena on ARM64. # # - Add a new bpf_wq API for deferring events and refactor # process-context bpf_timer code to keep common code where possible. # # - Harden the BPF verifier's and/or/xor value tracking. # # - Introduce crypto kfuncs to let BPF programs call kernel crypto # APIs. # # - Support bpf_tail_call_static() helper for BPF programs with GCC 13. # # - Add bpf_preempt_{disable,enable}() kfuncs in order to allow a BPF # program to have code sections where preemption is disabled. # # Driver API: # # - Skip software TC processing completely if all installed rules are # marked as HW-only, instead of checking the HW-only flag rule by # rule. # # - Add support for configuring PoE (Power over Ethernet), similar to # the already existing support for PoDL (Power over Data Line) # config. # # - Initial bits of a queue control API, for now allowing a single # queue to be reset without disturbing packet flow to other queues. # # - Common (ethtool) statistics for hardware timestamping. # # Tests and tooling: # # - Remove the need to create a config file to run the net forwarding # tests so that a naive "make run_tests" can exercise them. # # - Define a method of writing tests which require an external endpoint # to communicate with (to send/receive data towards the test # machine). Add a few such tests. # # - Create a shared code library for writing Python tests. Expose the # YAML Netlink library from tools/ to the tests for easy Netlink # access. # # - Move netfilter tests under net/, extend them, separate performance # tests from correctness tests, and iron out issues found by running # them "on every commit". # # - Refactor BPF selftests to use common network helpers. # # - Further work filling in YAML definitions of Netlink messages for: # nftables, team driver, bonding interfaces, vlan interfaces, VF # info, TC u32 mark, TC police action. # # - Teach Python YAML Netlink to decode attribute policies. # # - Extend the definition of the "indexed array" construct in the specs # to cover arrays of scalars rather than just nests. # # - Add hyperlinks between definitions in generated Netlink docs. # # Drivers: # # - Make sure unsupported flower control flags are rejected by drivers, # and make more drivers report errors directly to the application # rather than dmesg (large number of driver changes from Asbjørn # Sloth Tønnesen). # # - Ethernet high-speed NICs: # - Broadcom (bnxt): # - support multiple RSS contexts and steering traffic to them # - support XDP metadata # - make page pool allocations more NUMA aware # - Intel (100G, ice, idpf): # - extract datapath code common among Intel drivers into a library # - use fewer resources in switchdev by sharing queues with the PF # - add PFCP filter support # - add Ethernet filter support # - use a spinlock instead of HW lock in PTP clock ops # - support 5 layer Tx scheduler topology # - nVidia/Mellanox: # - 800G link modes and 100G SerDes speeds # - per-queue IRQ coalescing configuration # - Marvell Octeon: # - support offloading TC packet mark action # # - Ethernet NICs consumer, embedded and virtual: # - stop lying about skb->truesize in USB Ethernet drivers, it # messes up TCP memory calculations # - Google cloud vNIC: # - support changing ring size via ethtool # - support ring reset using the queue control API # - VirtIO net: # - expose flow hash from RSS to XDP # - per-queue statistics # - add selftests # - Synopsys (stmmac): # - support controllers which require an RX clock signal from the # MII bus to perform their hardware initialization # - TI: # - icssg_prueth: support ICSSG-based Ethernet on AM65x SR1.0 devices # - icssg_prueth: add SW TX / RX Coalescing based on hrtimers # - cpsw: minimal XDP support # - Renesas (ravb): # - support describing the MDIO bus # - Realtek (r8169): # - add support for RTL8168M # - Microchip Sparx5: # - matchall and flower actions mirred and redirect # # - Ethernet switches: # - nVidia/Mellanox: # - improve events processing performance # - Marvell: # - add support for MV88E6250 family internal PHYs # - Microchip: # - add DCB and DSCP mapping support for KSZ switches # - vsc73xx: convert to PHYLINK # - Realtek: # - rtl8226b/rtl8221b: add C45 instances and SerDes switching # # - Many driver changes related to PHYLIB and PHYLINK deprecated API # cleanup # # - Ethernet PHYs: # - Add a new driver for Airoha EN8811H 2.5 Gigabit PHY. # - micrel: lan8814: add support for PPS out and external timestamp trigger # # - WiFi: # - Disable Wireless Extensions (WEXT) in all Wi-Fi 7 devices # drivers. Modern devices can only be configured using nl80211. # - mac80211/cfg80211 # - handle color change per link for WiFi 7 Multi-Link Operation # - Intel (iwlwifi): # - don't support puncturing in 5 GHz # - support monitor mode on passive channels # - BZ-W device support # - P2P with HE/EHT support # - re-add support for firmware API 90 # - provide channel survey information for Automatic Channel Selection # - MediaTek (mt76): # - mt7921 LED control # - mt7925 EHT radiotap support # - mt7920e PCI support # - Qualcomm (ath11k): # - P2P support for QCA6390, WCN6855 and QCA2066 # - support hibernation # - ieee80211-freq-limit Device Tree property support # - Qualcomm (ath12k): # - refactoring in preparation of multi-link support # - suspend and hibernation support # - ACPI support # - debugfs support, including dfs_simulate_radar support # - RealTek: # - rtw88: RTL8723CS SDIO device support # - rtw89: RTL8922AE Wi-Fi 7 PCI device support # - rtw89: complete features of new WiFi 7 chip 8922AE including # BT-coexistence and Wake-on-WLAN # - rtw89: use BIOS ACPI settings to set TX power and channels # - rtl8xxxu: enable Management Frame Protection (MFP) support # # - Bluetooth: # - support for Intel BlazarI and Filmore Peak2 (BE201) # - support for MediaTek MT7921S SDIO # - initial support for Intel PCIe BT driver # - remove HCI_AMP support" # # * tag 'net-next-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1827 commits) # selftests: netfilter: fix packetdrill conntrack testcase # net: gro: fix napi_gro_cb zeroed alignment # Bluetooth: btintel_pcie: Refactor and code cleanup # Bluetooth: btintel_pcie: Fix warning reported by sparse # Bluetooth: hci_core: Fix not handling hdev->le_num_of_adv_sets=1 # Bluetooth: btintel: Fix compiler warning for multi_v7_defconfig config # Bluetooth: btintel_pcie: Fix compiler warnings # Bluetooth: btintel_pcie: Add *setup* function to download firmware # Bluetooth: btintel_pcie: Add support for PCIe transport # Bluetooth: btintel: Export few static functions # Bluetooth: HCI: Remove HCI_AMP support # Bluetooth: L2CAP: Fix div-by-zero in l2cap_le_flowctl_init() # Bluetooth: qca: Fix error code in qca_read_fw_build_info() # Bluetooth: hci_conn: Use __counted_by() and avoid -Wfamnae warning # Bluetooth: btintel: Add support for Filmore Peak2 (BE201) # Bluetooth: btintel: Add support for BlazarI # LE Create Connection command timeout increased to 20 secs # dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth # Bluetooth: compute LE flow credits based on recvbuf space # Bluetooth: hci_sync: Use cmd->num_cis instead of magic number # ... # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/m68k-linux/bin/m68k-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/m68k-linux/bin/m68k-linux-ld --version # < git log --format=%s --max-count=1 1b294a1f35616977caddaddf3e9d28e576a1adbc # make -s -j 160 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/m68k-linux/bin/m68k-linux- sun3_defconfig # < make -s -j 160 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/m68k-linux/bin/m68k-linux- help # make -s -j 160 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/m68k-linux/bin/m68k-linux- olddefconfig # make -s -j 160 ARCH=m68k O=/kisskb/build/linus_sun3_defconfig_m68k-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/m68k-linux/bin/m68k-linux- Completed OK # rm -rf /kisskb/build/linus_sun3_defconfig_m68k-gcc13 # Build took: 0:02:09.427881