linux/lib
Linus Torvalds fcc79e1714 Networking changes for 6.13.
The most significant set of changes is the per netns RTNL. The new
 behavior is disabled by default, regression risk should be contained.
 
 Notably the new config knob PTP_1588_CLOCK_VMCLOCK will inherit its
 default value from PTP_1588_CLOCK_KVM, as the first is intended to be
 a more reliable replacement for the latter.
 
 Core
 ----
 
  - Started a very large, in-progress, effort to make the RTNL lock
    scope per network-namespace, thus reducing the lock contention
    significantly in the containerized use-case, comprising:
    - RCU-ified some relevant slices of the FIB control path
    - introduce basic per netns locking helpers
    - namespacified the IPv4 address hash table
    - remove rtnl_register{,_module}() in favour of rtnl_register_many()
    - refactor rtnl_{new,del,set}link() moving as much validation as
      possible out of RTNL lock
    - convert all phonet doit() and dumpit() handlers to RCU
    - convert IPv4 addresses manipulation to per-netns RTNL
    - convert virtual interface creation to per-netns RTNL
    the per-netns lock infra is guarded by the CONFIG_DEBUG_NET_SMALL_RTNL
    knob, disabled by default ad interim.
 
  - Introduce NAPI suspension, to efficiently switching between busy
    polling (NAPI processing suspended) and normal processing.
 
  - Migrate the IPv4 routing input, output and control path from direct
    ToS usage to DSCP macros. This is a work in progress to make ECN
    handling consistent and reliable.
 
  - Add drop reasons support to the IPv4 rotue input path, allowing
    better introspection in case of packets drop.
 
  - Make FIB seqnum lockless, dropping RTNL protection for read
    access.
 
  - Make inet{,v6} addresses hashing less predicable.
 
  - Allow providing timestamp OPT_ID via cmsg, to correlate TX packets
    and timestamps
 
 Things we sprinkled into general kernel code
 --------------------------------------------
 
  - Add small file operations for debugfs, to reduce the struct ops size.
 
  - Refactoring and optimization for the implementation of page_frag API,
    This is a preparatory work to consolidate the page_frag
    implementation.
 
 Netfilter
 ---------
 
  - Optimize set element transactions to reduce memory consumption
 
  - Extended netlink error reporting for attribute parser failure.
 
  - Make legacy xtables configs user selectable, giving users
    the option to configure iptables without enabling any other config.
 
  - Address a lot of false-positive RCU issues, pointed by recent
    CI improvements.
 
 BPF
 ---
 
  - Put xsk sockets on a struct diet and add various cleanups. Overall,
    this helps to bump performance by 12% for some workloads.
 
  - Extend BPF selftests to increase coverage of XDP features in
    combination with BPF cpumap.
 
  - Optimize and homogenize bpf_csum_diff helper for all archs and also
    add a batch of new BPF selftests for it.
 
  - Extend netkit with an option to delegate skb->{mark,priority}
    scrubbing to its BPF program.
 
  - Make the bpf_get_netns_cookie() helper available also to tc(x) BPF
    programs.
 
 Protocols
 ---------
 
  - Introduces 4-tuple hash for connected udp sockets, speeding-up
    significantly connected sockets lookup.
 
  - Add a fastpath for some TCP timers that usually expires after close,
    the socket lock contention.
 
  - Add inbound and outbound xfrm state caches to speed up state lookups.
 
  - Avoid sending MPTCP advertisements on stale subflows, reducing
    risks on loosing them.
 
  - Make neighbours table flushing more scalable, maintaining per device
    neigh lists.
 
 Driver API
 ----------
 
  - Introduce a unified interface to configure transmission H/W shaping,
    and expose it to user-space via generic-netlink.
 
  - Add support for per-NAPI config via netlink. This makes napi
    configuration persistent across queues removal and re-creation.
    Requires driver updates, currently supported drivers are:
    nVidia/Mellanox mlx4 and mlx5, Broadcom brcm and Intel ice.
 
  - Add ethtool support for writing SFP / PHY firmware blocks.
 
  - Track RSS context allocation from ethtool core.
 
  - Implement support for mirroring to DSA CPU port, via TC mirror
    offload.
 
  - Consolidate FDB updates notification, to avoid duplicates on
    device-specific entries.
 
  - Expose DPLL clock quality level to the user-space.
 
  - Support master-slave PHY config via device tree.
 
 Tests and tooling
 -----------------
 
  - forwarding: introduce deferred commands, to simplify
    the cleanup phase
 
 Drivers
 -------
 
  - Updated several drivers - Amazon vNic, Google vNic, Microsoft vNic,
    Intel e1000e and Broadcom Tigon3 - to use netdev-genl to link the
    IRQs and queues to NAPI IDs, allowing busy polling and better
    introspection.
 
  - Ethernet high-speed NICs:
    - nVidia/Mellanox:
      - mlx5:
        - a large refactor to implement support for cross E-Switch
          scheduling
        - refactor H/W conter management to let it scale better
        - H/W GRO cleanups
    - Intel (100G, ice)::
      - adds support for ethtool reset
      - implement support for per TX queue H/W shaping
    - AMD/Solarflare:
      - implement per device queue stats support
    - Broadcom (bnxt):
      - improve wildcard l4proto on IPv4/IPv6 ntuple rules
    - Marvell Octeon:
      - Adds representor support for each Resource Virtualization Unit
        (RVU) device.
    - Hisilicon:
      - adds support for the BMC Gigabit Ethernet
    - IBM (EMAC):
      - driver cleanup and modernization
    - Cisco (VIC):
      - raise the queues number limit to 256
 
  - Ethernet virtual:
    - Google vNIC:
      - implements page pool support
    - macsec:
      - inherit lower device's features and TSO limits when offloading
    - virtio_net:
      - enable premapped mode by default
      - support for XDP socket(AF_XDP) zerocopy TX
    - wireguard:
      - set the TSO max size to be GSO_MAX_SIZE, to aggregate larger
        packets.
 
  - Ethernet NICs embedded and virtual:
    - Broadcom ASP:
      - enable software timestamping
    - Freescale:
      - add enetc4 PF driver
    - MediaTek: Airoha SoC:
      - implement BQL support
    - RealTek r8169:
      - enable TSO by default on r8168/r8125
      - implement extended ethtool stats
    - Renesas AVB:
      - enable TX checksum offload
    - Synopsys (stmmac):
      - support header splitting for vlan tagged packets
      - move common code for DWMAC4 and DWXGMAC into a separate FPE
        module.
      - Add the dwmac driver support for T-HEAD TH1520 SoC
    - Synopsys (xpcs):
      - driver refactor and cleanup
    - TI:
      - icssg_prueth: add VLAN offload support
    - Xilinx emaclite:
      - adds clock support
 
  - Ethernet switches:
    - Microchip:
      - implement support for the lan969x Ethernet switch family
      - add LAN9646 switch support to KSZ DSA driver
 
  - Ethernet PHYs:
    - Marvel: 88q2x: enable auto negotiation
    - Microchip: add support for LAN865X Rev B1 and LAN867X Rev C1/C2
 
  - PTP:
    - Add support for the Amazon virtual clock device
    - Add PtP driver for s390 clocks
 
  - WiFi:
    - mac80211
      - EHT 1024 aggregation size for transmissions
      - new operation to indicate that a new interface is to be added
      - support radio separation of multi-band devices
      - move wireless extension spy implementation to libiw
    - Broadcom:
      - brcmfmac: optional LPO clock support
    - Microchip:
      - add support for Atmel WILC3000
    - Qualcomm (ath12k):
      - firmware coredump collection support
      - add debugfs support for a multitude of statistics
    - Qualcomm (ath5k):
      -  Arcadyan ARV45XX AR2417 & Gigaset SX76[23] AR241[34]A support
    - Realtek:
      - rtw88: 8821au and 8812au USB adapters support
      - rtw89: add thermal protection
      - rtw89: fine tune BT-coexsitence to improve user experience
      - rtw89: firmware secure boot for WiFi 6 chip
 
  - Bluetooth
      - add Qualcomm WCN785x support for ids Foxconn 0xe0fc/0xe0f3 and
        0x13d3:0x3623
      - add Realtek RTL8852BE support for id Foxconn 0xe123
      - add MediaTek MT7920 support for wireless module ids
      - btintel_pcie: add handshake between driver and firmware
      - btintel_pcie: add recovery mechanism
      - btnxpuart: add GPIO support to power save feature
 
 Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEEg1AjqC77wbdLX2LbKSR5jcyPE6QFAmc8sukSHHBhYmVuaUBy
 ZWRoYXQuY29tAAoJECkkeY3MjxOkLEYQAIMM6Qjh0bh3Byr3gOS1xZzXG+APLjP4
 9Jr0p3i+X53i90jvVqzeVO5FTc95MVHSKZ3kvPkDMXSLUaEJxocNHCI5Dzl/2/qL
 wWdpUB6/ou+jKB4Bn6Z8OvVODT7qrr0tVa9M2/fuKWrIsOU/ntIhG8EhnGddk5U/
 vKPSf5PUIb81uNRnF58VusY3wrT1dEoh9VfJYxL+ST+inPxjEAMy6Y+lmlsjGaSX
 jrS+Pp9KYiUwl3Qt0AQs+cG4OHkJdjbnChrfosWwpkiyddO8klVq06+wX/TiSzfF
 b9VZtBfy/GZs3lkE1mQkcILdtX5pP3YHQdpsuxFfVI0JHVszx2ck7WdoRux/8F0v
 kKZsYcO7bH9I1wMFP66Ff9hIbdEQaeucK+KdDkXyPNMfP91Vzmfjii8IBxOC36Ie
 BbOeFUrXyTxxJ2u0vf/X9JtIq8bcrkNrSd1n1jlGPMqG3FVzsY95+Oi4qfsyeUbl
 lS1PlVTqPMPFdX54HnxM3y2rJjhd7iXhkvmtuXNjRFThXlOiK3maAPWlM1aZ3b8u
 Vjs4JFUsW0tleZG+RzANjsGjXbf7AiPUGLZt+acem0K+fcjG4i5aGIAJrxwa/ORx
 eG74IZRt5cOI371W7gNLGHjwnuge8tFPgOWcRP2eozNm7jvMYALBejYS7eWUTvaf
 THcvVM+bupEZ
 =GzPr
 -----END PGP SIGNATURE-----

Merge tag 'net-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next

Pull networking updates from Paolo Abeni:
 "The most significant set of changes is the per netns RTNL. The new
  behavior is disabled by default, regression risk should be contained.

  Notably the new config knob PTP_1588_CLOCK_VMCLOCK will inherit its
  default value from PTP_1588_CLOCK_KVM, as the first is intended to be
  a more reliable replacement for the latter.

  Core:

   - Started a very large, in-progress, effort to make the RTNL lock
     scope per network-namespace, thus reducing the lock contention
     significantly in the containerized use-case, comprising:
       - RCU-ified some relevant slices of the FIB control path
       - introduce basic per netns locking helpers
       - namespacified the IPv4 address hash table
       - remove rtnl_register{,_module}() in favour of
         rtnl_register_many()
       - refactor rtnl_{new,del,set}link() moving as much validation as
         possible out of RTNL lock
       - convert all phonet doit() and dumpit() handlers to RCU
       - convert IPv4 addresses manipulation to per-netns RTNL
       - convert virtual interface creation to per-netns RTNL
     the per-netns lock infrastructure is guarded by the
     CONFIG_DEBUG_NET_SMALL_RTNL knob, disabled by default ad interim.

   - Introduce NAPI suspension, to efficiently switching between busy
     polling (NAPI processing suspended) and normal processing.

   - Migrate the IPv4 routing input, output and control path from direct
     ToS usage to DSCP macros. This is a work in progress to make ECN
     handling consistent and reliable.

   - Add drop reasons support to the IPv4 rotue input path, allowing
     better introspection in case of packets drop.

   - Make FIB seqnum lockless, dropping RTNL protection for read access.

   - Make inet{,v6} addresses hashing less predicable.

   - Allow providing timestamp OPT_ID via cmsg, to correlate TX packets
     and timestamps

  Things we sprinkled into general kernel code:

   - Add small file operations for debugfs, to reduce the struct ops
     size.

   - Refactoring and optimization for the implementation of page_frag
     API, This is a preparatory work to consolidate the page_frag
     implementation.

  Netfilter:

   - Optimize set element transactions to reduce memory consumption

   - Extended netlink error reporting for attribute parser failure.

   - Make legacy xtables configs user selectable, giving users the
     option to configure iptables without enabling any other config.

   - Address a lot of false-positive RCU issues, pointed by recent CI
     improvements.

  BPF:

   - Put xsk sockets on a struct diet and add various cleanups. Overall,
     this helps to bump performance by 12% for some workloads.

   - Extend BPF selftests to increase coverage of XDP features in
     combination with BPF cpumap.

   - Optimize and homogenize bpf_csum_diff helper for all archs and also
     add a batch of new BPF selftests for it.

   - Extend netkit with an option to delegate skb->{mark,priority}
     scrubbing to its BPF program.

   - Make the bpf_get_netns_cookie() helper available also to tc(x) BPF
     programs.

  Protocols:

   - Introduces 4-tuple hash for connected udp sockets, speeding-up
     significantly connected sockets lookup.

   - Add a fastpath for some TCP timers that usually expires after
     close, the socket lock contention.

   - Add inbound and outbound xfrm state caches to speed up state
     lookups.

   - Avoid sending MPTCP advertisements on stale subflows, reducing
     risks on loosing them.

   - Make neighbours table flushing more scalable, maintaining per
     device neigh lists.

  Driver API:

   - Introduce a unified interface to configure transmission H/W
     shaping, and expose it to user-space via generic-netlink.

   - Add support for per-NAPI config via netlink. This makes napi
     configuration persistent across queues removal and re-creation.
     Requires driver updates, currently supported drivers are:
     nVidia/Mellanox mlx4 and mlx5, Broadcom brcm and Intel ice.

   - Add ethtool support for writing SFP / PHY firmware blocks.

   - Track RSS context allocation from ethtool core.

   - Implement support for mirroring to DSA CPU port, via TC mirror
     offload.

   - Consolidate FDB updates notification, to avoid duplicates on
     device-specific entries.

   - Expose DPLL clock quality level to the user-space.

   - Support master-slave PHY config via device tree.

  Tests and tooling:

   - forwarding: introduce deferred commands, to simplify the cleanup
     phase

  Drivers:

   - Updated several drivers - Amazon vNic, Google vNic, Microsoft vNic,
     Intel e1000e and Broadcom Tigon3 - to use netdev-genl to link the
     IRQs and queues to NAPI IDs, allowing busy polling and better
     introspection.

   - Ethernet high-speed NICs:
      - nVidia/Mellanox:
         - mlx5:
           - a large refactor to implement support for cross E-Switch
             scheduling
           - refactor H/W conter management to let it scale better
           - H/W GRO cleanups
      - Intel (100G, ice)::
         - add support for ethtool reset
         - implement support for per TX queue H/W shaping
      - AMD/Solarflare:
         - implement per device queue stats support
      - Broadcom (bnxt):
         - improve wildcard l4proto on IPv4/IPv6 ntuple rules
      - Marvell Octeon:
         - Add representor support for each Resource Virtualization Unit
           (RVU) device.
      - Hisilicon:
         - add support for the BMC Gigabit Ethernet
      - IBM (EMAC):
         - driver cleanup and modernization
      - Cisco (VIC):
         - raise the queues number limit to 256

   - Ethernet virtual:
      - Google vNIC:
         - implement page pool support
      - macsec:
         - inherit lower device's features and TSO limits when
           offloading
      - virtio_net:
         - enable premapped mode by default
         - support for XDP socket(AF_XDP) zerocopy TX
      - wireguard:
         - set the TSO max size to be GSO_MAX_SIZE, to aggregate larger
           packets.

   - Ethernet NICs embedded and virtual:
      - Broadcom ASP:
         - enable software timestamping
      - Freescale:
         - add enetc4 PF driver
      - MediaTek: Airoha SoC:
         - implement BQL support
      - RealTek r8169:
         - enable TSO by default on r8168/r8125
         - implement extended ethtool stats
      - Renesas AVB:
         - enable TX checksum offload
      - Synopsys (stmmac):
         - support header splitting for vlan tagged packets
         - move common code for DWMAC4 and DWXGMAC into a separate FPE
           module.
         - add dwmac driver support for T-HEAD TH1520 SoC
      - Synopsys (xpcs):
         - driver refactor and cleanup
      - TI:
         - icssg_prueth: add VLAN offload support
      - Xilinx emaclite:
         - add clock support

   - Ethernet switches:
      - Microchip:
         - implement support for the lan969x Ethernet switch family
         - add LAN9646 switch support to KSZ DSA driver

   - Ethernet PHYs:
      - Marvel: 88q2x: enable auto negotiation
      - Microchip: add support for LAN865X Rev B1 and LAN867X Rev C1/C2

   - PTP:
      - Add support for the Amazon virtual clock device
      - Add PtP driver for s390 clocks

   - WiFi:
      - mac80211
         - EHT 1024 aggregation size for transmissions
         - new operation to indicate that a new interface is to be added
         - support radio separation of multi-band devices
         - move wireless extension spy implementation to libiw
      - Broadcom:
         - brcmfmac: optional LPO clock support
      - Microchip:
         - add support for Atmel WILC3000
      - Qualcomm (ath12k):
         - firmware coredump collection support
         - add debugfs support for a multitude of statistics
      - Qualcomm (ath5k):
         -  Arcadyan ARV45XX AR2417 & Gigaset SX76[23] AR241[34]A support
      - Realtek:
         - rtw88: 8821au and 8812au USB adapters support
         - rtw89: add thermal protection
         - rtw89: fine tune BT-coexsitence to improve user experience
         - rtw89: firmware secure boot for WiFi 6 chip

   - Bluetooth
      - add Qualcomm WCN785x support for ids Foxconn 0xe0fc/0xe0f3 and
        0x13d3:0x3623
      - add Realtek RTL8852BE support for id Foxconn 0xe123
      - add MediaTek MT7920 support for wireless module ids
      - btintel_pcie: add handshake between driver and firmware
      - btintel_pcie: add recovery mechanism
      - btnxpuart: add GPIO support to power save feature"

* tag 'net-next-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1475 commits)
  mm: page_frag: fix a compile error when kernel is not compiled
  Documentation: tipc: fix formatting issue in tipc.rst
  selftests: nic_performance: Add selftest for performance of NIC driver
  selftests: nic_link_layer: Add selftest case for speed and duplex states
  selftests: nic_link_layer: Add link layer selftest for NIC driver
  bnxt_en: Add FW trace coredump segments to the coredump
  bnxt_en: Add a new ethtool -W dump flag
  bnxt_en: Add 2 parameters to bnxt_fill_coredump_seg_hdr()
  bnxt_en: Add functions to copy host context memory
  bnxt_en: Do not free FW log context memory
  bnxt_en: Manage the FW trace context memory
  bnxt_en: Allocate backing store memory for FW trace logs
  bnxt_en: Add a 'force' parameter to bnxt_free_ctx_mem()
  bnxt_en: Refactor bnxt_free_ctx_mem()
  bnxt_en: Add mem_valid bit to struct bnxt_ctx_mem_type
  bnxt_en: Update firmware interface spec to 1.10.3.85
  selftests/bpf: Add some tests with sockmap SK_PASS
  bpf: fix recursive lock when verdict program return SK_PASS
  wireguard: device: support big tcp GSO
  wireguard: selftests: load nf_conntrack if not present
  ...
2024-11-21 08:28:08 -08:00
..
842 move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
crypto This update includes the following changes: 2024-11-19 10:28:41 -08:00
dim dim: pass dim_sample to net_dim() by reference 2024-11-03 12:36:54 -08:00
fonts lib/fonts: Fix visiblity of SUN12x22 and TER16x32 if DRM_PANIC 2024-06-24 13:18:02 +02:00
kunit kunit: string-stream-test: Include <linux/prandom.h> 2024-10-03 18:20:14 +02:00
lz4 move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
lzo move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
math lib/math/test_div64: add some edge cases relevant to __div64_const32() 2024-10-28 21:44:28 +00:00
pldmfw move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
raid6 lib/raid6: use CC_FLAGS_FPU for NEON CFLAGS 2024-05-19 14:36:18 -07:00
reed_solomon treewide: use get_random_u32_below() instead of deprecated function 2022-11-18 02:15:15 +01:00
test_fortify fortify: use if_changed_dep to record header dependency in *.cmd files 2024-08-15 09:26:02 -07:00
vdso random: vDSO: minimize and simplify header includes 2024-09-13 17:28:35 +02:00
xz move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
zlib_deflate lib/zlib: add missing MODULE_DESCRIPTION() macro 2024-07-04 23:43:11 -07:00
zlib_dfltcc lib/zlib: unpoison DFLTCC output buffers 2024-07-03 19:30:23 -07:00
zlib_inflate lib/zlib: Split deflate and inflate states for DFLTCC 2023-02-02 22:50:09 -08:00
zstd move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
.gitignore fortify: refactor test_fortify Makefile to fix some build problems 2024-08-15 09:26:02 -07:00
alloc_tag.c sysctl changes for 6.11-rc1 2024-07-16 14:24:29 -07:00
argv_split.c argv_split: fix kernel-doc warnings 2023-09-19 13:21:33 -07:00
ashldi3.c
ashrdi3.c
asn1_decoder.c
asn1_encoder.c lib/asn1_encoder: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:06 -07:00
assoc_array.c assoc_array: fix the return value in assoc_array_insert_mid_shortcut() 2024-03-12 13:09:23 -07:00
atomic64_test.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/*_test.ko 2024-06-24 22:25:06 -07:00
atomic64.c
audit.c
base64.c lib/base64: RFC4648-compliant base64 encoding 2022-08-02 17:14:47 -06:00
bcd.c lib/bcd: optimize _bin2bcd() for improved performance 2024-09-01 20:43:33 -07:00
bch.c lib/bch.c: use swap() to improve code 2024-07-12 16:39:53 -07:00
bitfield_kunit.c kunit: add missing MODULE_DESCRIPTION() macros to lib/*.c 2024-06-24 22:25:06 -07:00
bitmap-str.c lib/bitmap: split-out string-related operations to a separate files 2023-10-14 20:25:22 -07:00
bitmap.c cpumask: add cpumask_weight_andnot() 2024-02-01 13:06:40 +01:00
bitrev.c
bootconfig-data.S bootconfig: Support embedding a bootconfig file in kernel 2022-04-26 17:58:51 -04:00
bootconfig.c bootconfig: Remove duplicate included header file linux/bootconfig.h 2024-07-12 08:55:02 +09:00
bsearch.c
btree.c minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
bucket_locks.c
bug.c cpuidle: lib/bug: Disable rcu_is_watching() during WARN/BUG 2023-01-31 15:01:45 +01:00
build_OID_registry lib/build_OID_registry: avoid non-destructive substitution for Perl < 5.13.2 compat 2024-07-06 11:39:51 -07:00
buildid.c lib/buildid: Handle memfd_secret() files in build_id_parse() 2024-10-17 21:30:32 +02:00
bust_spinlocks.c kernel/panic: Drop unblank_screen call 2022-09-01 16:55:35 +02:00
check_signature.c
checksum_kunit.c lib: checksum: use ARRAY_SIZE() to improve assert_setup_correct() 2024-09-01 20:43:30 -07:00
checksum.c net: checksum: Move from32to16() to generic header 2024-10-30 15:29:59 +01:00
closure.c closures: use seq_putc() in debug_show() 2024-09-01 20:43:29 -07:00
clz_ctz.c lib/clz_ctz.c: Fix __clzdi2() and __ctzdi2() for 32-bit kernels 2023-08-25 13:22:10 -07:00
clz_tab.c
cmdline_kunit.c kunit: add missing MODULE_DESCRIPTION() macros to lib/*.c 2024-06-24 22:25:06 -07:00
cmdline.c lib/cmdline: avoid page fault in next_arg 2022-09-11 21:55:06 -07:00
cmpdi2.c
cmpxchg-emu.c lib: Add one-byte emulation function 2024-04-09 22:06:00 -07:00
codetag.c lib: alloc_tag_module_unload must wait for pending kfree_rcu calls 2024-10-17 00:28:07 -07:00
compat_audit.c
cpu_rmap.c lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release() 2023-06-07 21:25:00 -07:00
cpumask_kunit.c lib: bitmap: add missing MODULE_DESCRIPTION() macros 2024-06-18 10:40:52 -07:00
cpumask.c bitmap patches for v6.7 2023-11-03 07:08:36 -10:00
crc4.c
crc7.c
crc8.c
crc16.c
crc32.c crypto: crc32c - Provide crc32c-arch driver for accelerated library code 2024-10-28 18:33:10 +08:00
crc32defs.h
crc32test.c
crc64-rocksoft.c
crc64.c
crc-ccitt.c lib: crc_ccitt_false() is identical to crc_itu_t() 2023-12-29 12:22:26 -08:00
crc-itu-t.c crc-itu-t: fix typo in CRC ITU-T polynomial comment 2022-06-07 10:27:38 +02:00
crc-t10dif.c
ctype.c
debug_info.c
debug_locks.c
debugobjects.c debugobjects: Track object usage to avoid premature freeing of objects 2024-10-15 17:30:33 +02:00
dec_and_lock.c perf: Fix perf_event_pmu_context serialization 2023-01-31 20:37:18 +01:00
decompress_bunzip2.c decompress_bunzip2: fix rare decompression failure 2024-07-26 14:33:09 -07:00
decompress_inflate.c decompressor: provide missing prototypes 2023-06-09 17:44:17 -07:00
decompress_unlz4.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
decompress_unlzma.c minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
decompress_unlzo.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
decompress_unxz.c xz: remove XZ_EXTERN and extern from functions 2024-09-01 20:43:27 -07:00
decompress_unzstd.c decompressor: provide missing prototypes 2023-06-09 17:44:17 -07:00
decompress.c
devmem_is_allowed.c lib: devmem_is_allowed: include linux/io.h 2023-06-09 17:44:15 -07:00
devres.c devres: don't use "proxy" headers 2024-04-25 21:07:06 -07:00
dhry_1.c lib: dhry: use ktime_ms_delta() helper 2024-02-22 15:38:52 -08:00
dhry_2.c lib: add Dhrystone benchmark test 2023-02-02 22:50:01 -08:00
dhry_run.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
dhry.h lib: add Dhrystone benchmark test 2023-02-02 22:50:01 -08:00
digsig.c
dump_stack.c Linux 6.11-rc1 2024-07-30 09:30:11 -10:00
dynamic_debug.c dyndbg: use seq_putc() in ddebug_proc_show() 2024-09-01 20:43:29 -07:00
dynamic_queue_limits.c dql: annotate data-races around dql->last_obj_cnt 2024-10-31 19:19:36 -07:00
earlycpio.c lib: move from strlcpy with unused retval to strscpy 2022-09-11 21:55:10 -07:00
errname.c parisc: Drop the HP-UX ENOSYM and EREMOTERELEASE error codes 2023-11-25 09:43:18 +01:00
error-inject.c lib: error-inject: remove error checking for debugfs_create_dir() 2023-08-18 10:18:55 -07:00
errseq.c
extable.c
fault-inject-usercopy.c
fault-inject.c fault-inject: improve build for CONFIG_FAULT_INJECTION=n 2024-09-01 20:43:33 -07:00
fdt_addresses.c
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
fdt.c
find_bit_benchmark.c lib: bitmap: add missing MODULE_DESCRIPTION() macros 2024-06-18 10:40:52 -07:00
find_bit.c bitmap patches for 6.10 2024-05-21 15:29:01 -07:00
flex_proportions.c flex_proportions: remove unused fprop_local_single 2024-02-22 15:38:52 -08:00
fortify_kunit.c mm: kvmalloc: align kvrealloc() with krealloc() 2024-09-01 20:25:44 -07:00
fw_table.c lib/firmware_table: Provide buffer length argument to cdat_table_parse() 2024-03-13 00:03:21 -07:00
gen_crc32table.c
gen_crc64table.c
genalloc.c Devicetree include cleanups for v6.6: 2023-08-30 17:04:28 -07:00
generic-radix-tree.c lib/generic-radix-tree.c: add preallocation 2024-09-09 09:41:47 -04:00
glob.c lib: glob.c: added null check for character class 2024-09-09 16:47:41 -07:00
globtest.c
group_cpus.c lib/group_cpus.c: avoid acquiring cpu hotplug lock in group_cpus_evenly 2023-12-06 16:12:46 -08:00
hashtable_test.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/*_test.ko 2024-06-24 22:25:06 -07:00
hexdump.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hweight.c
idr.c ida: Fix crash in ida_free when the bitmap is empty 2023-12-21 10:02:28 -08:00
inflate.c
interval_tree_test.c lib/interval_tree_test.c: Include <linux/prandom.h> instead of <linux/random.h> 2024-10-03 18:20:12 +02:00
interval_tree.c interval-tree: Add a utility to iterate over spans in an interval tree 2022-11-29 16:34:15 -04:00
iomap_copy.c s390: Stop using weak symbols for __iowrite64_copy() 2024-04-22 17:11:20 -03:00
iomap.c kmsan: add iomap support 2022-10-03 14:03:21 -07:00
iomem_copy.c lib/iomem_copy: fix kerneldoc format style 2024-10-29 07:14:29 +00:00
iommu-helper.c
iov_iter.c for-6.13/block-20241118 2024-11-18 16:50:08 -08:00
irq_poll.c softirq: Remove unused 'action' parameter from action callback 2024-08-20 17:13:40 +02:00
irq_regs.c
is_signed_type_kunit.c kunit: add missing MODULE_DESCRIPTION() macros to lib/*.c 2024-06-24 22:25:06 -07:00
is_single_threaded.c
kasprintf.c
Kconfig lib: packing: add KUnit tests adapted from selftests 2024-10-03 15:32:04 -07:00
Kconfig.debug Networking changes for 6.13. 2024-11-21 08:28:08 -08:00
Kconfig.kasan Revert "kasan: Disable Software Tag-Based KASAN with GCC" 2024-10-23 16:04:30 +01:00
Kconfig.kcsan Kernel concurrency sanitizer (KCSAN) updates for v6.3 2023-02-25 13:02:20 -08:00
Kconfig.kfence mm/slab: remove CONFIG_SLAB from all Kconfig and Makefile 2023-12-05 11:14:40 +01:00
Kconfig.kgdb kgdb: add HAS_IOPORT dependency 2024-04-25 21:07:05 -07:00
Kconfig.kmsan mm/slab: remove CONFIG_SLAB from all Kconfig and Makefile 2023-12-05 11:14:40 +01:00
Kconfig.ubsan x86/traps: Enable UBSAN traps on x86 2024-08-06 13:42:40 +02:00
kfifo.c TTY/Serial changes for 6.10-rc1 2024-05-22 11:53:02 -07:00
klist.c
kobject_uevent.c kobject_uevent: Fix OOB access within zap_modalias_env() 2024-06-12 13:24:05 +02:00
kobject.c Revert "kobject: Remove redundant checks for whether ktype is NULL" 2024-02-08 16:39:25 +00:00
kstrtox.c kstrtox: consistently use _tolower() 2023-08-21 13:46:25 -07:00
kstrtox.h
kunit_iov_iter.c mm: Define struct folio_queue and ITER_FOLIOQ to handle a sequence of folios 2024-09-12 12:20:21 +02:00
libcrc32c.c libcrc32c: remove crc32c_impl 2023-04-17 18:01:23 +02:00
linear_ranges.c
list_debug.c list: Introduce CONFIG_LIST_HARDENED 2023-08-15 14:57:25 -07:00
list_sort.c
list-test.c Revert "list: test: fix tests for list_cut_position()" 2024-09-26 14:01:44 -07:00
llist.c llist: add llist_del_first_this() 2023-10-16 12:44:06 -04:00
locking-selftest-hardirq.h
locking-selftest-mutex.h
locking-selftest-rlock-hardirq.h
locking-selftest-rlock-softirq.h
locking-selftest-rlock.h
locking-selftest-rsem.h
locking-selftest-rtmutex.h
locking-selftest-softirq.h
locking-selftest-spin-hardirq.h
locking-selftest-spin-softirq.h
locking-selftest-spin.h
locking-selftest-wlock-hardirq.h
locking-selftest-wlock-softirq.h
locking-selftest-wlock.h
locking-selftest-wsem.h
locking-selftest.c locking/lockdep: Add a test for lockdep_set_subclass() 2024-10-17 21:21:16 -07:00
lockref.c lockref: stop doing cpu_relax in the cmpxchg loop 2023-01-13 14:35:38 -06:00
logic_iomem.c
logic_pio.c logic_pio: Constify fwnode_handle 2024-10-14 16:33:24 -05:00
lru_cache.c lib/lru_cache: fix spelling mistake "colision"->"collision" 2024-09-01 20:43:29 -07:00
lshrdi3.c
lwq.c lib: add light-weight queuing mechanism. 2023-10-16 12:44:06 -04:00
Makefile Networking changes for 6.13. 2024-11-21 08:28:08 -08:00
maple_tree.c maple_tree: correct tree corruption on spanning store 2024-10-17 08:35:10 -07:00
memcat_p.c
memcpy_kunit.c kunit/fortify: add missing MODULE_DESCRIPTION() macros 2024-06-24 22:25:05 -07:00
memory-notifier-error-inject.c
memregion.c
memweight.c
muldi3.c
net_utils.c mac_pton: Clean up the header inclusions 2023-06-06 13:18:32 +02:00
netdev-notifier-error-inject.c
nlattr.c netlink: add nla be16/32 types to minlen array 2024-02-22 19:01:55 -08:00
nmi_backtrace.c nmi_backtrace: allow excluding an arbitrary CPU 2023-08-18 10:19:00 -07:00
notifier-error-inject.c lib: remove error checking for debugfs_create_dir() 2023-08-18 10:18:55 -07:00
notifier-error-inject.h
objagg.c mlxsw: spectrum_acl_erp: Fix object nesting warning 2024-06-10 11:14:52 +01:00
objpool.c objpool: fix to make percpu slot allocation more robust 2024-11-07 14:14:58 -08:00
of-reconfig-notifier-error-inject.c
oid_registry.c lib/oid_registry.c: remove redundant assignment to variable num 2022-11-18 13:55:06 -08:00
once.c once: rename _SLOW to _SLEEPABLE 2022-10-03 17:34:32 -07:00
overflow_kunit.c kunit/overflow: Fix UB in overflow_allocation_test 2024-08-15 09:24:55 -07:00
packing_test.c lib: packing: catch kunit_kzalloc() failure in the pack() test 2024-10-07 16:36:25 -07:00
packing.c lib: packing: use GENMASK() for box_mask 2024-10-03 15:32:04 -07:00
parman.c
parser.c lib: parser: update documentation for match_NUMBER functions 2023-03-02 21:54:22 -08:00
percpu_counter.c lib/percpu_counter: add missing __percpu qualifier to a cast 2024-09-01 20:43:34 -07:00
percpu_test.c
percpu-refcount.c percpu-refcount: Use call_rcu_hurry() for atomic switch 2022-11-30 13:16:40 -08:00
plist.c lib/plist.c: avoid worst case scenario in plist_add 2024-06-24 22:25:10 -07:00
pm-notifier-error-inject.c
polynomial.c lib: add generic polynomial calculation 2022-05-22 11:32:30 -07:00
radix-tree.c radix tree: remove unused variable 2023-08-21 13:07:22 -07:00
radix-tree.h radix-tree: move declarations to header 2023-06-12 11:31:50 -07:00
random32.c Random number generator updates for Linux 6.13-rc1. 2024-11-19 10:43:44 -08:00
ratelimit.c ratelimit: Fix data-races in ___ratelimit(). 2022-08-24 13:46:57 +01:00
rbtree_test.c lib/rbtree-test: Include <linux/prandom.h> instead of <linux/random.h> 2024-10-03 18:20:19 +02:00
rbtree.c lib/rbtree.c: fix the example typo 2024-07-04 23:43:10 -07:00
rcuref.c locking/atomics: Use atomic_try_cmpxchg_release() to micro-optimize rcuref_put_slowpath() 2023-10-10 10:14:27 +02:00
ref_tracker.c lib/ref_tracker: remove warnings in case of allocation failure 2023-06-05 15:28:42 -07:00
refcount.c
rhashtable.c lib/rhashtable: cleanup fallback check in bucket_table_alloc() 2024-09-01 20:43:32 -07:00
sbitmap.c lib/sbitmap: define swap_lock as raw_spinlock_t 2024-09-20 00:20:06 -06:00
scatterlist.c mm: Define struct folio_queue and ITER_FOLIOQ to handle a sequence of folios 2024-09-12 12:20:21 +02:00
seq_buf.c seq_buf: Fix kernel documentation 2024-02-15 12:17:28 -05:00
sg_pool.c lib/sg_pool: change module_init(sg_pool_init) to subsys_initcall 2022-09-23 16:46:19 +02:00
sg_split.c
siphash_kunit.c siphash: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:07 -07:00
siphash.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
slub_kunit.c slub/kunit: fix a WARNING due to unwrapped __kmalloc_cache_noprof 2024-10-23 09:50:58 +02:00
smp_processor_id.c lib/smp_processor_id: fix imbalanced instrumentation_end() call 2022-07-17 17:31:41 -07:00
sort.c lib/sort: optimize heapsort for handling final 2 or 3 elements 2024-06-24 22:25:03 -07:00
stackdepot.c stackdepot: use gfp_nested_mask() instead of open coded masking 2024-05-19 14:40:44 -07:00
stackinit_kunit.c kunit: add missing MODULE_DESCRIPTION() macros to lib/*.c 2024-06-24 22:25:06 -07:00
stmp_device.c
string_helpers_kunit.c string: kunit: add missing MODULE_DESCRIPTION() macros 2024-06-28 08:54:55 -07:00
string_helpers.c lib/string_helpers: rework overflow-dependent code 2024-08-15 09:26:02 -07:00
string_kunit.c string: kunit: add missing MODULE_DESCRIPTION() macros 2024-06-28 08:54:55 -07:00
string.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
strncpy_from_user.c x86: support user address masking instead of non-speculative conditional 2024-08-19 11:31:18 -07:00
strnlen_user.c x86: support user address masking instead of non-speculative conditional 2024-08-19 11:31:18 -07:00
syscall.c
test_bitmap.c lib: bitmap: add missing MODULE_DESCRIPTION() macros 2024-06-18 10:40:52 -07:00
test_bitops.c lib/test_bitops: Add benchmark test for fns() 2024-05-09 09:25:08 -07:00
test_bits.c lib/test_bits.c: Add tests for GENMASK_U128() 2024-08-28 06:54:39 -07:00
test_blackhole_dev.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_bpf.c bpf/tests: Include <linux/prandom.h> instead of <linux/random.h> 2024-10-03 18:20:23 +02:00
test_debug_virtual.c
test_dynamic_debug.c dyndbg: add missing MODULE_DESCRIPTION() macro 2024-06-04 17:40:02 +02:00
test_firmware.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_fprobe.c fprobe: Pass return address to the handlers 2023-06-06 21:39:55 +09:00
test_fpu_glue.c lib: fix the NULL vs IS_ERR() bug for debugfs_create_dir() 2024-09-01 20:43:40 -07:00
test_fpu_impl.c selftests/fpu: move FP code to a separate translation unit 2024-05-19 14:36:20 -07:00
test_fpu.h selftests/fpu: move FP code to a separate translation unit 2024-05-19 14:36:20 -07:00
test_free_pages.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_hash.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_hexdump.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_hmm_uapi.h hmm-tests: add test for migrate_device_range() 2022-10-12 18:51:50 -07:00
test_hmm.c lib: test_hmm: use min() to improve dmirror_exclusive() 2024-09-01 20:25:52 -07:00
test_ida.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_kmod.c lib/test_kmod: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:07 -07:00
test_kprobes.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_linear_ranges.c lib/test_linear_ranges: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:07 -07:00
test_list_sort.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_lockup.c
test_maple_tree.c test_maple_tree: add the missing MODULE_DESCRIPTION() macro 2024-07-03 19:30:05 -07:00
test_memcat_p.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_meminit.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_min_heap.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_module.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_objagg.c lib: test_objagg: Fix spelling 2024-06-10 11:14:52 +01:00
test_objpool.c lib: test_objpool: add missing MODULE_DESCRIPTION() macro 2024-09-01 20:43:23 -07:00
test_parman.c lib/test_parman: Include <linux/prandom.h> instead of <linux/random.h> 2024-10-03 18:20:27 +02:00
test_printf.c printf: remove %pGt support 2024-09-03 21:15:42 -07:00
test_ref_tracker.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_rhashtable.c lib/test_rhashtable: add missing MODULE_DESCRIPTION() macro 2024-06-03 18:51:18 -07:00
test_scanf.c lib/test_scanf: Include <linux/prandom.h> instead of <linux/random.h> 2024-10-03 18:20:29 +02:00
test_sort.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_static_key_base.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_static_keys.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_sysctl.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
test_ubsan.c ubsan: add missing MODULE_DESCRIPTION() macro 2024-07-03 19:30:05 -07:00
test_uuid.c uuid: add missing MODULE_DESCRIPTION() macro 2024-06-24 22:25:06 -07:00
test_vmalloc.c lib/test_vmalloc.c: use unsigned long constant 2024-03-04 17:01:22 -08:00
test_xarray.c test_xarray: add missing MODULE_DESCRIPTION() macro 2024-07-03 19:30:05 -07:00
test-kstrtox.c KUnit: add missing MODULE_DESCRIPTION() macros for lib/test_*.ko 2024-06-24 22:25:11 -07:00
textsearch.c
timerqueue.c
trace_readwrite.c lib/trace_readwrite.c:: replace asm-generic/io with linux/io 2023-12-29 12:22:29 -08:00
ts_bm.c lib/ts: add missing MODULE_DESCRIPTION() macros 2024-06-24 22:25:04 -07:00
ts_fsm.c lib/ts: add missing MODULE_DESCRIPTION() macros 2024-06-24 22:25:04 -07:00
ts_kmp.c lib/ts: add missing MODULE_DESCRIPTION() macros 2024-06-24 22:25:04 -07:00
ubsan.c ubsan: Add awareness of signed integer overflow traps 2024-04-15 17:42:43 -07:00
ubsan.h ubsan: Avoid i386 UBSAN handler crashes with Clang 2024-04-24 15:45:38 -07:00
ucmpdi2.c
ucs2_string.c lib/ucs2_string: Add UCS-2 strscpy function 2023-09-13 10:18:42 -07:00
union_find.c Union-Find: add a new module in kernel library 2024-07-30 13:04:36 -10:00
usercopy_kunit.c kunit/usercopy: Add missing MODULE_DESCRIPTION() 2024-07-02 10:11:45 -06:00
usercopy.c uaccess: always export _copy_[from|to]_user with CONFIG_RUST 2024-07-08 23:44:01 +02:00
uuid.c treewide: use get_random_bytes() when possible 2022-10-11 17:42:58 -06:00
vsprintf.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
win_minmax.c lib/win_minmax: use /* notation for regular comments 2023-01-11 16:14:21 -08:00
xarray.c The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
xxhash.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00