]> Git Repo - linux.git/commitdiff
Merge tag 'net-next-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev...
authorLinus Torvalds <[email protected]>
Wed, 15 May 2024 02:42:24 +0000 (19:42 -0700)
committerLinus Torvalds <[email protected]>
Wed, 15 May 2024 02:42:24 +0000 (19:42 -0700)
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
  ...

12 files changed:
1  2 
Documentation/devicetree/bindings/net/stm32-dwmac.yaml
MAINTAINERS
crypto/Makefile
drivers/net/ethernet/qlogic/qed/qed_main.c
drivers/net/fjes/fjes_main.c
drivers/of/property.c
include/linux/compiler_types.h
include/linux/cpumask.h
kernel/bpf/trampoline.c
scripts/kernel-doc
tools/testing/selftests/Makefile
tools/testing/selftests/lib.mk

index f2714b5b6cf426bf50f1662007df12ab4073d78d,857d58949b029f5476bebc3f6fd5879ebeede585..7ccf75676b6d5544403baff4645c388d44f99c73
@@@ -82,6 -82,13 +82,13 @@@ properties
        Should be phandle/offset pair. The phandle to the syscon node which
        encompases the glue register, and the offset of the control register
  
+   st,ext-phyclk:
+     description:
+       set this property in RMII mode when you have PHY without crystal 50MHz and want to
+       select RCC clock instead of ETH_REF_CLK. OR in RGMII mode when you want to select
+       RCC clock instead of ETH_CLK125.
+     type: boolean
    st,eth-clk-sel:
      description:
        set this property in RGMII PHY when you want to select RCC clock instead of ETH_CLK125.
        select RCC clock instead of ETH_REF_CLK.
      type: boolean
  
 +  access-controllers:
 +    minItems: 1
 +    maxItems: 2
 +
  required:
    - compatible
    - clocks
diff --combined MAINTAINERS
index 39c0517bbd2357919cae3f019e64627250430e75,c4c6ffbc6d1093d9e3de4548d462f82b02a9209f..94fddfcec2fb331387cbf95ffcd00d4694453583
@@@ -479,13 -479,6 +479,13 @@@ L:       [email protected]
  S:    Orphan
  F:    drivers/net/wireless/admtek/adm8211.*
  
 +ADP1050 HARDWARE MONITOR DRIVER
 +M:    Radu Sabau <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +W:    https://ez.analog.com/linux-software-drivers
 +F:    Documentation/devicetree/bindings/hwmon/pmbus/adi,adp1050.yaml
 +
  ADP1653 FLASH CONTROLLER DRIVER
  M:    Sakari Ailus <[email protected]>
  L:    [email protected]
@@@ -660,15 -653,6 +660,15 @@@ S:       Supporte
  F:    fs/aio.c
  F:    include/linux/*aio*.h
  
 +AIROHA SPI SNFI DRIVER
 +M:    Lorenzo Bianconi <[email protected]>
 +M:    Ray Liu <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/spi/airoha,en7581-snand.yaml
 +F:    drivers/spi/spi-airoha-snfi.c
 +
  AIRSPY MEDIA DRIVER
  L:    [email protected]
  S:    Orphan
@@@ -1009,7 -993,7 +1009,7 @@@ F:       drivers/video/fbdev/geode
  
  AMD HSMP DRIVER
  M:    Naveen Krishna Chatradhi <[email protected]>
 -R:    Carlos Bilbao <carlos.bilbao@amd.com>
 +R:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/arch/x86/amd_hsmp.rst
@@@ -1078,9 -1062,6 +1078,9 @@@ F:      drivers/gpu/drm/amd/pm
  
  AMD PSTATE DRIVER
  M:    Huang Rui <[email protected]>
 +M:    Gautham R. Shenoy <[email protected]>
 +M:    Mario Limonciello <[email protected]>
 +R:    Perry Yuan <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    Documentation/admin-guide/pm/amd-pstate.rst
@@@ -2604,8 -2585,12 +2604,8 @@@ F:     arch/arm64/boot/dts/qcom/sc7180
  F:    arch/arm64/boot/dts/qcom/sc7280*
  F:    arch/arm64/boot/dts/qcom/sdm845-cheza*
  
 -ARM/QUALCOMM SUPPORT
 -M:    Bjorn Andersson <[email protected]>
 -M:    Konrad Dybcio <[email protected]>
 +ARM/QUALCOMM MAILING LIST
  L:    [email protected]
 -S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
  F:    Documentation/devicetree/bindings/*/qcom*
  F:    Documentation/devicetree/bindings/soc/qcom/
  F:    arch/arm/boot/dts/qcom/
@@@ -2642,33 -2627,6 +2642,33 @@@ F:    include/dt-bindings/*/qcom
  F:    include/linux/*/qcom*
  F:    include/linux/soc/qcom/
  
 +ARM/QUALCOMM SUPPORT
 +M:    Bjorn Andersson <[email protected]>
 +M:    Konrad Dybcio <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
 +F:    Documentation/devicetree/bindings/arm/qcom-soc.yaml
 +F:    Documentation/devicetree/bindings/arm/qcom.yaml
 +F:    Documentation/devicetree/bindings/bus/qcom*
 +F:    Documentation/devicetree/bindings/cache/qcom,llcc.yaml
 +F:    Documentation/devicetree/bindings/firmware/qcom,scm.yaml
 +F:    Documentation/devicetree/bindings/reserved-memory/qcom
 +F:    Documentation/devicetree/bindings/soc/qcom/
 +F:    arch/arm/boot/dts/qcom/
 +F:    arch/arm/configs/qcom_defconfig
 +F:    arch/arm/mach-qcom/
 +F:    arch/arm64/boot/dts/qcom/
 +F:    drivers/bus/qcom*
 +F:    drivers/firmware/qcom/
 +F:    drivers/soc/qcom/
 +F:    include/dt-bindings/arm/qcom,ids.h
 +F:    include/dt-bindings/firmware/qcom,scm.h
 +F:    include/dt-bindings/soc/qcom*
 +F:    include/linux/firmware/qcom
 +F:    include/linux/soc/qcom/
 +F:    include/soc/qcom/
 +
  ARM/RDA MICRO ARCHITECTURE
  M:    Manivannan Sadhasivam <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -3092,13 -3050,6 +3092,13 @@@ F:    drivers/mmc/host/sdhci-of-arasan.
  N:    zynq
  N:    xilinx
  
 +ARM64 FIT SUPPORT
 +M:    Simon Glass <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm64/boot/Makefile
 +F:    scripts/make_fit.py
 +
  ARM64 PORT (AARCH64 ARCHITECTURE)
  M:    Catalin Marinas <[email protected]>
  M:    Will Deacon <[email protected]>
@@@ -3761,6 -3712,12 +3761,12 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/iio/imu/bosch,bmi323.yaml
  F:    drivers/iio/imu/bmi323/
  
+ BPF JIT for ARC
+ M:    Shahab Vahedi <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    arch/arc/net/
  BPF JIT for ARM
  M:    Russell King <[email protected]>
  M:    Puranjay Mohan <[email protected]>
@@@ -3873,6 -3830,14 +3879,14 @@@ F:    kernel/bpf/tnum.
  F:    kernel/bpf/trampoline.c
  F:    kernel/bpf/verifier.c
  
+ BPF [CRYPTO]
+ M:    Vadim Fedorenko <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    crypto/bpf_crypto_skcipher.c
+ F:    include/linux/bpf_crypto.h
+ F:    kernel/bpf/crypto.c
  BPF [DOCUMENTATION] (Related to Standardization)
  R:    David Vernet <[email protected]>
  L:    [email protected]
@@@ -5402,7 -5367,7 +5416,7 @@@ F:      drivers/usb/atm/cxacru.
  
  CONFIDENTIAL COMPUTING THREAT MODEL FOR X86 VIRTUALIZATION (SNP/TDX)
  M:    Elena Reshetova <[email protected]>
 -M:    Carlos Bilbao <carlos.bilbao@amd.com>
 +M:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  S:    Maintained
  F:    Documentation/security/snp-tdx-threat-model.rst
  
@@@ -5828,9 -5793,10 +5842,9 @@@ F:     include/uapi/misc/cxl.
  
  CXLFLASH (IBM Coherent Accelerator Processor Interface CAPI Flash) SCSI DRIVER
  M:    Manoj N. Kumar <[email protected]>
 -M:    Matthew R. Ochs <[email protected]>
  M:    Uma Krishnan <[email protected]>
  L:    [email protected]
 -S:    Supported
 +S:    Obsolete
  F:    Documentation/arch/powerpc/cxlflash.rst
  F:    drivers/scsi/cxlflash/
  F:    include/uapi/scsi/cxlflash_ioctl.h
@@@ -6450,7 -6416,6 +6464,7 @@@ S:      Maintaine
  P:    Documentation/doc-guide/maintainer-profile.rst
  T:    git git://git.lwn.net/linux.git docs-next
  F:    Documentation/
 +F:    scripts/check-variable-fonts.sh
  F:    scripts/documentation-file-ref-check
  F:    scripts/kernel-doc
  F:    scripts/sphinx-pre-install
@@@ -8488,6 -8453,8 +8502,6 @@@ T:      git git://git.kernel.org/pub/scm/lin
  F:    include/linux/fortify-string.h
  F:    lib/fortify_kunit.c
  F:    lib/memcpy_kunit.c
 -F:    lib/strcat_kunit.c
 -F:    lib/strscpy_kunit.c
  F:    lib/test_fortify/*
  F:    scripts/test_fortify.sh
  K:    \b__NO_FORTIFY\b
@@@ -10650,7 -10617,7 +10664,7 @@@ S:   Orpha
  F:    drivers/video/fbdev/imsttfb.c
  
  INDEX OF FURTHER KERNEL DOCUMENTATION
 -M:    Carlos Bilbao <carlos.bilbao@amd.com>
 +M:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  S:    Maintained
  F:    Documentation/process/kernel-docs.rst
  
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
  F:    drivers/gpio/gpio-elkhartlake.c
 +F:    drivers/gpio/gpio-graniterapids.c
  F:    drivers/gpio/gpio-ich.c
  F:    drivers/gpio/gpio-merrifield.c
  F:    drivers/gpio/gpio-ml-ioh.c
@@@ -11480,7 -11446,6 +11494,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    Documentation/core-api/irq/irq-domain.rst
  F:    include/linux/irqdomain.h
 +F:    include/linux/irqdomain_defs.h
  F:    kernel/irq/irqdomain.c
  F:    kernel/irq/msi.c
  
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    include/linux/group_cpus.h
 +F:    include/linux/irq.h
 +F:    include/linux/irqhandler.h
 +F:    include/linux/irqnr.h
 +F:    include/linux/irqreturn.h
  F:    kernel/irq/
  F:    lib/group_cpus.c
  
@@@ -11504,7 -11465,6 +11518,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    Documentation/devicetree/bindings/interrupt-controller/
  F:    drivers/irqchip/
 +F:    include/linux/irqchip.h
  
  ISA
  M:    William Breathitt Gray <[email protected]>
@@@ -12068,15 -12028,6 +12082,15 @@@ S: Maintaine
  F:    include/keys/trusted_caam.h
  F:    security/keys/trusted-keys/trusted_caam.c
  
 +KEYS-TRUSTED-DCP
 +M:    David Gstir <[email protected]>
 +R:    sigma star Kernel Team <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +F:    include/keys/trusted_dcp.h
 +F:    security/keys/trusted-keys/trusted_dcp.c
 +
  KEYS-TRUSTED-TEE
  M:    Sumit Garg <[email protected]>
  L:    [email protected]
@@@ -12104,7 -12055,6 +12118,7 @@@ M:   Mimi Zohar <[email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Supported
 +W:    https://kernsec.org/wiki/index.php/Linux_Kernel_Integrity
  F:    security/integrity/platform_certs
  
  KFENCE
@@@ -12451,6 -12401,26 +12465,26 @@@ F: drivers/ata
  F:    include/linux/ata.h
  F:    include/linux/libata.h
  
+ LIBETH COMMON ETHERNET LIBRARY
+ M:    Alexander Lobakin <[email protected]>
+ L:    [email protected]
+ L:    [email protected] (moderated for non-subscribers)
+ S:    Supported
+ T:    git https://github.com/alobakin/linux.git
+ F:    drivers/net/ethernet/intel/libeth/
+ F:    include/net/libeth/
+ K:    libeth
+ LIBIE COMMON INTEL ETHERNET LIBRARY
+ M:    Alexander Lobakin <[email protected]>
+ L:    [email protected] (moderated for non-subscribers)
+ L:    [email protected]
+ S:    Supported
+ T:    git https://github.com/alobakin/linux.git
+ F:    drivers/net/ethernet/intel/libie/
+ F:    include/linux/net/intel/libie/
+ K:    libie
  LIBNVDIMM BTT: BLOCK TRANSLATION TABLE
  M:    Vishal Verma <[email protected]>
  M:    Dan Williams <[email protected]>
@@@ -13793,6 -13763,7 +13827,7 @@@ M:   Sean Wang <[email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
+ F:    Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
  F:    Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
  F:    drivers/bluetooth/btmtkuart.c
  
@@@ -15322,6 -15293,7 +15357,7 @@@ F:   net/*/netfilter.
  F:    net/*/netfilter/
  F:    net/bridge/br_netfilter*.c
  F:    net/netfilter/
+ F:    tools/testing/selftests/net/netfilter/
  
  NETROM NETWORK LAYER
  M:    Ralf Baechle <[email protected]>
@@@ -17830,6 -17802,14 +17866,14 @@@ F: include/net/psample.
  F:    include/uapi/linux/psample.h
  F:    net/psample
  
+ PSE NETWORK DRIVER
+ M:    Oleksij Rempel <[email protected]>
+ M:    Kory Maincent <[email protected]>
+ L:    [email protected]
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/net/pse-pd/
+ F:    drivers/net/pse-pd/
  PSTORE FILESYSTEM
  M:    Kees Cook <[email protected]>
  R:    Tony Luck <[email protected]>
@@@ -18640,7 -18620,7 +18684,7 @@@ F:   tools/testing/selftests/resctrl
  READ-COPY UPDATE (RCU)
  M:    "Paul E. McKenney" <[email protected]>
  M:    Frederic Weisbecker <[email protected]> (kernel/rcu/tree_nocb.h)
 -M:    Neeraj Upadhyay <[email protected]> (kernel/rcu/tasks.h)
 +M:    Neeraj Upadhyay <[email protected]> (kernel/rcu/tasks.h)
  M:    Joel Fernandes <[email protected]>
  M:    Josh Triplett <[email protected]>
  M:    Boqun Feng <[email protected]>
@@@ -18893,6 -18873,12 +18937,12 @@@ F: include/dt-bindings/net/pcs-rzn1-mii
  F:    include/linux/pcs-rzn1-miic.h
  F:    net/dsa/tag_rzn1_a5psw.c
  
+ RENESAS RZ/N1 DWMAC GLUE LAYER
+ M:    Romain Gantois <[email protected]>
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/net/renesas,rzn1-gmac.yaml
+ F:    drivers/net/ethernet/stmicro/stmmac/dwmac-rzn1.c
  RENESAS RZ/N1 RTC CONTROLLER DRIVER
  M:    Miquel Raynal <[email protected]>
  L:    [email protected]
@@@ -19006,20 -18992,6 +19056,20 @@@ S: Maintaine
  F:    drivers/mtd/nand/raw/r852.c
  F:    drivers/mtd/nand/raw/r852.h
  
 +RISC-V AIA DRIVERS
 +M:    Anup Patel <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/interrupt-controller/riscv,aplic.yaml
 +F:    Documentation/devicetree/bindings/interrupt-controller/riscv,imsics.yaml
 +F:    drivers/irqchip/irq-riscv-aplic-*.c
 +F:    drivers/irqchip/irq-riscv-aplic-*.h
 +F:    drivers/irqchip/irq-riscv-imsic-*.c
 +F:    drivers/irqchip/irq-riscv-imsic-*.h
 +F:    drivers/irqchip/irq-riscv-intc.c
 +F:    include/linux/irqchip/riscv-aplic.h
 +F:    include/linux/irqchip/riscv-imsic.h
 +
  RISC-V ARCHITECTURE
  M:    Paul Walmsley <[email protected]>
  M:    Palmer Dabbelt <[email protected]>
@@@ -20758,7 -20730,7 +20808,7 @@@ Q:   http://patchwork.linuxtv.org/project
  F:    drivers/media/dvb-frontends/sp2*
  
  SPANISH DOCUMENTATION
 -M:    Carlos Bilbao <carlos.bilbao@amd.com>
 +M:    Carlos Bilbao <carlos.bilbao.osdev@gmail.com>
  R:    Avadhut Naik <[email protected]>
  S:    Maintained
  F:    Documentation/translations/sp_SP/
@@@ -20910,13 -20882,6 +20960,13 @@@ T: git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/i2c/st,st-mipid02.yaml
  F:    drivers/media/i2c/st-mipid02.c
  
 +ST STM32 FIREWALL
 +M:    Gatien Chevallier <[email protected]>
 +S:    Maintained
 +F:    drivers/bus/stm32_etzpc.c
 +F:    drivers/bus/stm32_firewall.c
 +F:    drivers/bus/stm32_rifsc.c
 +
  ST STM32 I2C/SMBUS DRIVER
  M:    Pierre-Yves MORDRET <[email protected]>
  M:    Alain Volmat <[email protected]>
@@@ -21559,7 -21524,6 +21609,7 @@@ F:   drivers/cpufreq/sc[mp]i-cpufreq.
  F:    drivers/firmware/arm_scmi/
  F:    drivers/firmware/arm_scpi.c
  F:    drivers/hwmon/scmi-hwmon.c
 +F:    drivers/pinctrl/pinctrl-scmi.c
  F:    drivers/pmdomain/arm/
  F:    drivers/powercap/arm_scmi_powercap.c
  F:    drivers/regulator/scmi-regulator.c
@@@ -21746,6 -21710,7 +21796,7 @@@ TEAM DRIVE
  M:    Jiri Pirko <[email protected]>
  L:    [email protected]
  S:    Supported
+ F:    Documentation/netlink/specs/team.yaml
  F:    drivers/net/team/
  F:    include/linux/if_team.h
  F:    include/uapi/linux/if_team.h
@@@ -21791,7 -21756,6 +21842,7 @@@ F:   Documentation/driver-api/tee.rs
  F:    Documentation/tee/
  F:    Documentation/userspace-api/tee.rst
  F:    drivers/tee/
 +F:    include/linux/tee_core.h
  F:    include/linux/tee_drv.h
  F:    include/uapi/linux/tee.h
  
@@@ -21810,11 -21774,6 +21861,11 @@@ M: Prashant Gaikwad <[email protected]
  S:    Supported
  F:    drivers/clk/tegra/
  
 +TEGRA CRYPTO DRIVERS
 +M:    Akhil R <[email protected]>
 +S:    Supported
 +F:    drivers/crypto/tegra/*
 +
  TEGRA DMA DRIVERS
  M:    Laxman Dewangan <[email protected]>
  M:    Jon Hunter <[email protected]>
@@@ -21931,7 -21890,7 +21982,7 @@@ F:   Documentation/devicetree/bindings/so
  F:    Documentation/devicetree/bindings/sound/tas2562.yaml
  F:    Documentation/devicetree/bindings/sound/tas2770.yaml
  F:    Documentation/devicetree/bindings/sound/tas27xx.yaml
 -F:    Documentation/devicetree/bindings/sound/ti,pcm1681.txt
 +F:    Documentation/devicetree/bindings/sound/ti,pcm1681.yaml
  F:    Documentation/devicetree/bindings/sound/ti,pcm3168a.yaml
  F:    Documentation/devicetree/bindings/sound/ti,tlv320*.yaml
  F:    Documentation/devicetree/bindings/sound/tlv320adcx140.yaml
@@@ -22501,7 -22460,7 +22552,7 @@@ M:   Jarkko Sakkinen <[email protected]
  R:    Jason Gunthorpe <[email protected]>
  L:    [email protected]
  S:    Maintained
 -W:    https://kernsec.org/wiki/index.php/Linux_Kernel_Integrity
 +W:    https://gitlab.com/jarkkojs/linux-tpmdd-test
  Q:    https://patchwork.kernel.org/project/linux-integrity/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git
  F:    Documentation/devicetree/bindings/tpm/
@@@ -22590,15 -22549,6 +22641,15 @@@ F: Documentation/ABI/testing/configfs-t
  F:    drivers/virt/coco/tsm.c
  F:    include/linux/tsm.h
  
 +TRUSTED SERVICES TEE DRIVER
 +M:    Balint Dobszay <[email protected]>
 +M:    Sudeep Holla <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/tee/ts-tee.rst
 +F:    drivers/tee/tstee/
 +
  TTY LAYER AND SERIAL DRIVERS
  M:    Greg Kroah-Hartman <[email protected]>
  M:    Jiri Slaby <[email protected]>
@@@ -22740,7 -22690,6 +22791,7 @@@ F:   include/linux/ubsan.
  F:    lib/Kconfig.ubsan
  F:    lib/test_ubsan.c
  F:    lib/ubsan.c
 +F:    lib/ubsan.h
  F:    scripts/Makefile.ubsan
  K:    \bARCH_HAS_UBSAN\b
  
@@@ -23527,6 -23476,7 +23578,7 @@@ F:   include/linux/virtio*.
  F:    include/linux/vringh.h
  F:    include/uapi/linux/virtio_*.h
  F:    tools/virtio/
+ F:    tools/testing/selftests/drivers/net/virtio_net/
  
  VIRTIO CRYPTO DRIVER
  M:    Gonglei <[email protected]>
diff --combined crypto/Makefile
index de9a3312a2c848517f317ad114ea11541306610f,538124f8bf8a35d12adacfe6aeec6d5e08bcdc18..edbbaa3ffef590190ab5985e35112c45981e17f2
@@@ -20,6 -20,9 +20,9 @@@ crypto_skcipher-y += lskcipher.
  crypto_skcipher-y += skcipher.o
  
  obj-$(CONFIG_CRYPTO_SKCIPHER2) += crypto_skcipher.o
+ ifeq ($(CONFIG_BPF_SYSCALL),y)
+ obj-$(CONFIG_CRYPTO_SKCIPHER2) += bpf_crypto_skcipher.o
+ endif
  
  obj-$(CONFIG_CRYPTO_SEQIV) += seqiv.o
  obj-$(CONFIG_CRYPTO_ECHAINIV) += echainiv.o
@@@ -69,6 -72,8 +72,6 @@@ cryptomgr-y := algboss.o testmgr.
  
  obj-$(CONFIG_CRYPTO_MANAGER2) += cryptomgr.o
  obj-$(CONFIG_CRYPTO_USER) += crypto_user.o
 -crypto_user-y := crypto_user_base.o
 -crypto_user-$(CONFIG_CRYPTO_STATS) += crypto_user_stat.o
  obj-$(CONFIG_CRYPTO_CMAC) += cmac.o
  obj-$(CONFIG_CRYPTO_HMAC) += hmac.o
  obj-$(CONFIG_CRYPTO_VMAC) += vmac.o
index d39e198fe8dbe8f6f32df9a74fb8ce506470ca0c,17f284e9f06d3836ca2e8ca198caaa4cf0e7e6bb..f915c423fe70b54e2d718ce2747d3b3d16ea76a8
@@@ -323,8 -323,7 +323,7 @@@ static int qed_init_pci(struct qed_dev 
                goto err2;
        }
  
-       cdev->pci_params.pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM);
-       if (IS_PF(cdev) && !cdev->pci_params.pm_cap)
+       if (IS_PF(cdev) && !pdev->pm_cap)
                DP_NOTICE(cdev, "Cannot find power management capability\n");
  
        rc = dma_set_mask_and_coherent(&cdev->pdev->dev, DMA_BIT_MASK(64));
@@@ -1206,7 -1205,6 +1205,6 @@@ out
  static int qed_slowpath_wq_start(struct qed_dev *cdev)
  {
        struct qed_hwfn *hwfn;
-       char name[NAME_SIZE];
        int i;
  
        if (IS_VF(cdev))
        for_each_hwfn(cdev, i) {
                hwfn = &cdev->hwfns[i];
  
-               snprintf(name, NAME_SIZE, "slowpath-%02x:%02x.%02x",
-                        cdev->pdev->bus->number,
-                        PCI_SLOT(cdev->pdev->devfn), hwfn->abs_pf_id);
+               hwfn->slowpath_wq = alloc_workqueue("slowpath-%02x:%02x.%02x",
+                                        0, 0, cdev->pdev->bus->number,
+                                        PCI_SLOT(cdev->pdev->devfn),
+                                        hwfn->abs_pf_id);
  
-               hwfn->slowpath_wq = alloc_workqueue(name, 0, 0);
                if (!hwfn->slowpath_wq) {
                        DP_NOTICE(hwfn, "Cannot create slowpath workqueue\n");
                        return -ENOMEM;
@@@ -1351,7 -1349,7 +1349,7 @@@ static int qed_slowpath_start(struct qe
                                      (params->drv_rev << 8) |
                                      (params->drv_eng);
                strscpy(drv_version.name, params->name,
 -                      MCP_DRV_VER_STR_SIZE - 4);
 +                      sizeof(drv_version.name));
                rc = qed_mcp_send_drv_version(hwfn, hwfn->p_main_ptt,
                                              &drv_version);
                if (rc) {
index 324b34f3ac93760429ce76b01d62607535ddd5e3,6411da359e5aa2d7fda907da7fdb9b011391fe0b..b3ddc9a629d9d95463977b7ae50e52683257c95a
@@@ -156,6 -156,7 +156,6 @@@ static void fjes_acpi_remove(struct acp
  static struct acpi_driver fjes_acpi_driver = {
        .name = DRV_NAME,
        .class = DRV_NAME,
 -      .owner = THIS_MODULE,
        .ids = fjes_acpi_ids,
        .ops = {
                .add = fjes_acpi_add,
@@@ -810,7 -811,7 +810,7 @@@ static int fjes_change_mtu(struct net_d
                netif_tx_stop_all_queues(netdev);
        }
  
-       netdev->mtu = new_mtu;
+       WRITE_ONCE(netdev->mtu, new_mtu);
  
        if (running) {
                for (epidx = 0; epidx < hw->max_epid; epidx++) {
diff --combined drivers/of/property.c
index 769ae2cf5f3cc7af103287c2143c486fd8fb9f88,cc064151853ea79f4c37abd02bc2e6ae3c1fad2b..0320f1ae9b4d8ce3a7ebd87e31752b1bb67b26cf
@@@ -1252,7 -1252,7 +1252,8 @@@ DEFINE_SIMPLE_PROP(backlight, "backligh
  DEFINE_SIMPLE_PROP(panel, "panel", NULL)
  DEFINE_SIMPLE_PROP(msi_parent, "msi-parent", "#msi-cells")
  DEFINE_SIMPLE_PROP(post_init_providers, "post-init-providers", NULL)
 +DEFINE_SIMPLE_PROP(access_controllers, "access-controllers", "#access-controller-cells")
+ DEFINE_SIMPLE_PROP(pses, "pses", "#pse-cells")
  DEFINE_SUFFIX_PROP(regulators, "-supply", NULL)
  DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells")
  
@@@ -1358,9 -1358,9 +1359,10 @@@ static const struct supplier_bindings o
        { .parse_prop = parse_backlight, },
        { .parse_prop = parse_panel, },
        { .parse_prop = parse_msi_parent, },
+       { .parse_prop = parse_pses, },
        { .parse_prop = parse_gpio_compat, },
        { .parse_prop = parse_interrupts, },
 +      { .parse_prop = parse_access_controllers, },
        { .parse_prop = parse_regulators, },
        { .parse_prop = parse_gpio, },
        { .parse_prop = parse_gpios, },
index 774c2570fe510f9ac07e138a13e8e8455de6373e,a29ba6ef1e2758bf9067bb9b28b17cb03bc20e01..d1a9dbb8e1a77bc7a130b6101bcd15b8ccc4cbfb
@@@ -273,33 -273,26 +273,44 @@@ struct ftrace_likely_data 
   * disable all instrumentation. See Kconfig.kcsan where this is mandatory.
   */
  # define __no_kcsan __no_sanitize_thread __disable_sanitizer_instrumentation
 +/*
 + * Type qualifier to mark variables where all data-racy accesses should be
 + * ignored by KCSAN. Note, the implementation simply marks these variables as
 + * volatile, since KCSAN will treat such accesses as "marked".
 + */
 +# define __data_racy volatile
  # define __no_sanitize_or_inline __no_kcsan notrace __maybe_unused
  #else
  # define __no_kcsan
 +# define __data_racy
 +#endif
 +
 +#ifdef __SANITIZE_MEMORY__
 +/*
 + * Similarly to KASAN and KCSAN, KMSAN loses function attributes of inlined
 + * functions, therefore disabling KMSAN checks also requires disabling inlining.
 + *
 + * __no_sanitize_or_inline effectively prevents KMSAN from reporting errors
 + * within the function and marks all its outputs as initialized.
 + */
 +# define __no_sanitize_or_inline __no_kmsan_checks notrace __maybe_unused
  #endif
  
  #ifndef __no_sanitize_or_inline
  #define __no_sanitize_or_inline __always_inline
  #endif
  
+ /*
+  * Apply __counted_by() when the Endianness matches to increase test coverage.
+  */
+ #ifdef __LITTLE_ENDIAN
+ #define __counted_by_le(member)       __counted_by(member)
+ #define __counted_by_be(member)
+ #else
+ #define __counted_by_le(member)
+ #define __counted_by_be(member)       __counted_by(member)
+ #endif
  /* Do not trap wrapping arithmetic within an annotated function. */
  #ifdef CONFIG_UBSAN_SIGNED_WRAP
  # define __signed_wrap __attribute__((no_sanitize("signed-integer-overflow")))
diff --combined include/linux/cpumask.h
index ac9f3109c9847f11f9abaa2c6074111bcb2e45e9,6519f9c7770951222d138d175f958bc36eb20b0e..e8c412ee6400ddc88f95fef32ca3ee9405b70b5b
@@@ -187,23 -187,6 +187,23 @@@ unsigned int cpumask_first_and(const st
        return find_first_and_bit(cpumask_bits(srcp1), cpumask_bits(srcp2), small_cpumask_bits);
  }
  
 +/**
 + * cpumask_first_and_and - return the first cpu from *srcp1 & *srcp2 & *srcp3
 + * @srcp1: the first input
 + * @srcp2: the second input
 + * @srcp3: the third input
 + *
 + * Return: >= nr_cpu_ids if no cpus set in all.
 + */
 +static inline
 +unsigned int cpumask_first_and_and(const struct cpumask *srcp1,
 +                                 const struct cpumask *srcp2,
 +                                 const struct cpumask *srcp3)
 +{
 +      return find_first_and_and_bit(cpumask_bits(srcp1), cpumask_bits(srcp2),
 +                                    cpumask_bits(srcp3), small_cpumask_bits);
 +}
 +
  /**
   * cpumask_last - get the last CPU in a cpumask
   * @srcp:     - the cpumask pointer
@@@ -405,29 -388,6 +405,29 @@@ unsigned int cpumask_any_but(const stru
        return i;
  }
  
 +/**
 + * cpumask_any_and_but - pick a "random" cpu from *mask1 & *mask2, but not this one.
 + * @mask1: the first input cpumask
 + * @mask2: the second input cpumask
 + * @cpu: the cpu to ignore
 + *
 + * Returns >= nr_cpu_ids if no cpus set.
 + */
 +static inline
 +unsigned int cpumask_any_and_but(const struct cpumask *mask1,
 +                               const struct cpumask *mask2,
 +                               unsigned int cpu)
 +{
 +      unsigned int i;
 +
 +      cpumask_check(cpu);
 +      i = cpumask_first_and(mask1, mask2);
 +      if (i != cpu)
 +              return i;
 +
 +      return cpumask_next_and(cpu, mask1, mask2);
 +}
 +
  /**
   * cpumask_nth - get the Nth cpu in a cpumask
   * @srcp: the cpumask pointer
@@@ -893,7 -853,7 +893,7 @@@ static inline int cpulist_parse(const c
   */
  static inline unsigned int cpumask_size(void)
  {
-       return BITS_TO_LONGS(large_cpumask_bits) * sizeof(long);
+       return bitmap_size(large_cpumask_bits);
  }
  
  /*
diff --combined kernel/bpf/trampoline.c
index 88673a4267ebdfc118e3048dca761d08565c5568,26ae703d3c3bbc6f6d398dcf0a46a5e8c2cd4eea..f8302a5ca400dac6749288f5ea1af317cc9baa7f
@@@ -333,7 -333,7 +333,7 @@@ static void bpf_tramp_image_put(struct 
                int err = bpf_arch_text_poke(im->ip_after_call, BPF_MOD_JUMP,
                                             NULL, im->ip_epilogue);
                WARN_ON(err);
 -              if (IS_ENABLED(CONFIG_PREEMPTION))
 +              if (IS_ENABLED(CONFIG_TASKS_RCU))
                        call_rcu_tasks(&im->rcu, __bpf_tramp_image_put_rcu_tasks);
                else
                        percpu_ref_kill(&im->pcref);
@@@ -456,7 -456,9 +456,9 @@@ again
        if (err < 0)
                goto out_free;
  
-       arch_protect_bpf_trampoline(im->image, im->size);
+       err = arch_protect_bpf_trampoline(im->image, im->size);
+       if (err)
+               goto out_free;
  
        WARN_ON(tr->cur_image && total == 0);
        if (tr->cur_image)
@@@ -883,12 -885,13 +885,13 @@@ static void notrace update_prog_stats(s
             * Hence check that 'start' is valid.
             */
            start > NO_START_TIME) {
+               u64 duration = sched_clock() - start;
                unsigned long flags;
  
                stats = this_cpu_ptr(prog->stats);
                flags = u64_stats_update_begin_irqsave(&stats->syncp);
                u64_stats_inc(&stats->cnt);
-               u64_stats_add(&stats->nsecs, sched_clock() - start);
+               u64_stats_add(&stats->nsecs, duration);
                u64_stats_update_end_irqrestore(&stats->syncp, flags);
        }
  }
@@@ -1072,17 -1075,10 +1075,10 @@@ void __weak arch_free_bpf_trampoline(vo
        bpf_jit_free_exec(image);
  }
  
- void __weak arch_protect_bpf_trampoline(void *image, unsigned int size)
- {
-       WARN_ON_ONCE(size > PAGE_SIZE);
-       set_memory_rox((long)image, 1);
- }
- void __weak arch_unprotect_bpf_trampoline(void *image, unsigned int size)
+ int __weak arch_protect_bpf_trampoline(void *image, unsigned int size)
  {
        WARN_ON_ONCE(size > PAGE_SIZE);
-       set_memory_nx((long)image, 1);
-       set_memory_rw((long)image, 1);
+       return set_memory_rox((long)image, 1);
  }
  
  int __weak arch_bpf_trampoline_size(const struct btf_func_model *m, u32 flags,
diff --combined scripts/kernel-doc
index 7962d0daa63865fe1aebc3b1d952d586949a2e00,43a30f2de51380f0af6a3df8900c6158624105ff..90b21a0e85ca5f96378b0a89137e8da5fd825f26
@@@ -62,7 -62,7 +62,7 @@@ my $anon_struct_union = 0
  
  # match expressions used to find embedded type information
  my $type_constant = '\b``([^\`]+)``\b';
 -my $type_constant2 = '\%([-_\w]+)';
 +my $type_constant2 = '\%([-_*\w]+)';
  my $type_func = '(\w+)\(\)';
  my $type_param = '\@(\w*((\.\w+)|(->\w+))*(\.\.\.)?)';
  my $type_param_ref = '([\!~\*]?)\@(\w*((\.\w+)|(->\w+))*(\.\.\.)?)';
@@@ -1143,6 -1143,7 +1143,7 @@@ sub dump_struct($$) 
          $members =~ s/\s*$attribute/ /gi;
          $members =~ s/\s*__aligned\s*\([^;]*\)/ /gos;
          $members =~ s/\s*__counted_by\s*\([^;]*\)/ /gos;
+         $members =~ s/\s*__counted_by_(le|be)\s*\([^;]*\)/ /gos;
          $members =~ s/\s*__packed\s*/ /gos;
          $members =~ s/\s*CRYPTO_MINALIGN_ATTR/ /gos;
          $members =~ s/\s*____cacheline_aligned_in_smp/ /gos;
          # - first eat non-declaration parameters and rewrite for final match
          # - then remove macro, outer parens, and trailing semicolon
          $members =~ s/\bstruct_group\s*\(([^,]*,)/STRUCT_GROUP(/gos;
 -        $members =~ s/\bstruct_group_(attr|tagged)\s*\(([^,]*,){2}/STRUCT_GROUP(/gos;
 +        $members =~ s/\bstruct_group_attr\s*\(([^,]*,){2}/STRUCT_GROUP(/gos;
 +        $members =~ s/\bstruct_group_tagged\s*\(([^,]*),([^,]*),/struct $1 $2; STRUCT_GROUP(/gos;
          $members =~ s/\b__struct_group\s*\(([^,]*,){3}/STRUCT_GROUP(/gos;
          $members =~ s/\bSTRUCT_GROUP(\(((?:(?>[^)(]+)|(?1))*)\))[^;]*;/$2/gos;
  
index ed012a7f078658570d5d8e10763980a9b651ccb2,9039f3709affb91e91af16741c309e8c5c5de5ef..f0431e6cb67e031cb80b3ca91b973b2244924005
@@@ -17,8 -17,10 +17,10 @@@ TARGETS += device
  TARGETS += dmabuf-heaps
  TARGETS += drivers/dma-buf
  TARGETS += drivers/s390x/uvdevice
+ TARGETS += drivers/net
  TARGETS += drivers/net/bonding
  TARGETS += drivers/net/team
+ TARGETS += drivers/net/virtio_net
  TARGETS += dt
  TARGETS += efivarfs
  TARGETS += exec
@@@ -63,7 -65,7 +65,7 @@@ TARGETS += net/hs
  TARGETS += net/mptcp
  TARGETS += net/openvswitch
  TARGETS += net/tcp_ao
- TARGETS += netfilter
+ TARGETS += net/netfilter
  TARGETS += nsfs
  TARGETS += perf_events
  TARGETS += pidfd
@@@ -116,6 -118,13 +118,13 @@@ TARGETS += zra
  TARGETS_HOTPLUG = cpu-hotplug
  TARGETS_HOTPLUG += memory-hotplug
  
+ # Networking tests want the net/lib target, include it automatically
+ ifneq ($(filter net drivers/net drivers/net/hw,$(TARGETS)),)
+ ifeq ($(filter net/lib,$(TARGETS)),)
+       INSTALL_DEP_TARGETS := net/lib
+ endif
+ endif
  # User can optionally provide a TARGETS skiplist.  By default we skip
  # BPF since it has cutting edge build time dependencies which require
  # more effort to install.
@@@ -161,11 -170,11 +170,11 @@@ ifneq ($(KBUILD_OUTPUT),
    # $(realpath ...) resolves symlinks
    abs_objtree := $(realpath $(abs_objtree))
    BUILD := $(abs_objtree)/kselftest
 -  KHDR_INCLUDES := -isystem ${abs_objtree}/usr/include
 +  KHDR_INCLUDES := -D_GNU_SOURCE -isystem ${abs_objtree}/usr/include
  else
    BUILD := $(CURDIR)
    abs_srctree := $(shell cd $(top_srcdir) && pwd)
 -  KHDR_INCLUDES := -isystem ${abs_srctree}/usr/include
 +  KHDR_INCLUDES := -D_GNU_SOURCE -isystem ${abs_srctree}/usr/include
    DEFAULT_INSTALL_HDR_PATH := 1
  endif
  
@@@ -245,7 -254,7 +254,7 @@@ ifdef INSTALL_PAT
        install -m 744 run_kselftest.sh $(INSTALL_PATH)/
        rm -f $(TEST_LIST)
        @ret=1; \
-       for TARGET in $(TARGETS); do \
+       for TARGET in $(TARGETS) $(INSTALL_DEP_TARGETS); do \
                BUILD_TARGET=$$BUILD/$$TARGET;  \
                $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install \
                                INSTALL_PATH=$(INSTALL_PATH)/$$TARGET \
index 7fa4a96e26ed6c3e5c5ecd4c66452958a39b8bfd,aeeac5f834920469be49f8f2b5d3fcc5eb3d6e36..33c24ceddfb7119a7236b65ed7e295f27db3c5e3
@@@ -7,8 -7,6 +7,8 @@@ else ifneq ($(filter -%,$(LLVM)),
  LLVM_SUFFIX := $(LLVM)
  endif
  
 +CLANG := $(LLVM_PREFIX)clang$(LLVM_SUFFIX)
 +
  CLANG_TARGET_FLAGS_arm          := arm-linux-gnueabi
  CLANG_TARGET_FLAGS_arm64        := aarch64-linux-gnu
  CLANG_TARGET_FLAGS_hexagon      := hexagon-linux-musl
@@@ -20,13 -18,7 +20,13 @@@ CLANG_TARGET_FLAGS_riscv        := risc
  CLANG_TARGET_FLAGS_s390         := s390x-linux-gnu
  CLANG_TARGET_FLAGS_x86          := x86_64-linux-gnu
  CLANG_TARGET_FLAGS_x86_64       := x86_64-linux-gnu
 -CLANG_TARGET_FLAGS              := $(CLANG_TARGET_FLAGS_$(ARCH))
 +
 +# Default to host architecture if ARCH is not explicitly given.
 +ifeq ($(ARCH),)
 +CLANG_TARGET_FLAGS := $(shell $(CLANG) -print-target-triple)
 +else
 +CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(ARCH))
 +endif
  
  ifeq ($(CROSS_COMPILE),)
  ifeq ($(CLANG_TARGET_FLAGS),)
@@@ -38,7 -30,7 +38,7 @@@ els
  CLANG_FLAGS     += --target=$(notdir $(CROSS_COMPILE:%-=%))
  endif # CROSS_COMPILE
  
 -CC := $(LLVM_PREFIX)clang$(LLVM_SUFFIX) $(CLANG_FLAGS) -fintegrated-as
 +CC := $(CLANG) $(CLANG_FLAGS) -fintegrated-as
  else
  CC := $(CROSS_COMPILE)gcc
  endif # LLVM
@@@ -52,8 -44,22 +52,22 @@@ endi
  selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
  top_srcdir = $(selfdir)/../../..
  
+ # msg: emit succinct information message describing current building step
+ # $1 - generic step name (e.g., CC, LINK, etc);
+ # $2 - optional "flavor" specifier; if provided, will be emitted as [flavor];
+ # $3 - target (assumed to be file); only file name will be emitted;
+ # $4 - optional extra arg, emitted as-is, if provided.
+ ifeq ($(V),1)
+ Q =
+ msg =
+ else
+ Q = @
+ msg = @printf '  %-8s%s %s%s\n' "$(1)" "$(if $(2), [$(2)])" "$(notdir $(3))" "$(if $(4), $(4))";
+ MAKEFLAGS += --no-print-directory
+ endif
  ifeq ($(KHDR_INCLUDES),)
 -KHDR_INCLUDES := -isystem $(top_srcdir)/usr/include
 +KHDR_INCLUDES := -D_GNU_SOURCE -isystem $(top_srcdir)/usr/include
  endif
  
  # The following are built by lib.mk common compile rules.
@@@ -184,7 -190,8 +198,8 @@@ endi
  ifeq ($(OVERRIDE_TARGETS),)
  LOCAL_HDRS += $(selfdir)/kselftest_harness.h $(selfdir)/kselftest.h
  $(OUTPUT)/%:%.c $(LOCAL_HDRS)
-       $(LINK.c) $(filter-out $(LOCAL_HDRS),$^) $(LDLIBS) -o $@
+       $(call msg,CC,,$@)
+       $(Q)$(LINK.c) $(filter-out $(LOCAL_HDRS),$^) $(LDLIBS) -o $@
  
  $(OUTPUT)/%.o:%.S
        $(COMPILE.S) $^ -o $@
This page took 0.270374 seconds and 4 git commands to generate.