Linux refers to the family of Unix-like computer operating systems using the Linux kernel. Linux can be installed on a wide variety of computer hardware, ranging from mobile phones, tablet computers, routers, and video game consoles, to mainframes and supercomputers. Linux is a leading server operating system, and runs the 10 fastest supercomputers in the world.

The development of Linux is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed, both commercially and non-commercially, by anyone under licenses such as the GNU General Public License. Typically Linux is packaged in a format known as a Linux distribution for desktop and server use. Some popular mainstream Linux distributions include Debian (and its derivatives such as Ubuntu), Fedora and openSUSE. Linux distributions include the Linux kernel and supporting utilities and libraries to fulfill the distribution's intended use.

Download Key

Mainline

Mainline tree is maintained by Linus Torvalds. It's the tree where all new features are introduced and where all the exciting new development happens. New mainline kernels are released every 2-3 months.

Stable

After each mainline kernel is released, it is considered "stable." Any bug fixes for a stable kernel are backported from the mainline tree and applied by a designated stable kernel maintainer. There are usually only a few bugfix kernel releases until next mainline kernel becomes available – unless it is designated a "longterm maintenance kernel." Stable kernel updates are released on as-needed basis, usually once a week.

Longterm

There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.

What's New

Core (various)

  • vfs: relax linkat() AT_EMPTY_PATH - aka flink() - requirements
  • Statx: stx_subvol
  • sysrq: Add support to replay kernel log on consoles via sysrq ,
  • fcntl: To let userspace know whether two file descriptors refer to the same struct file
  • task scheduler
    • fair: allow disabling sched_balance_newidle with sched_relax_domain_level
    • debug: Increase SCHEDSTAT_VERSION to 16
  • io_uring
    • Accept tweaks ,
    • Propagate back queue status on accept
    • Support to inject result for NOP ,
    • Implement io_uring notification (ubuf_info) stacking
    • Improve async state handling
    • Send and receive bundles
  • timekeeping: Handle potential multiplication overflow
  • workqueues: implement disable/enable_work() and the delayed_work counterparts to block future executions
  • xarray: inline xas_descend to improve performance
  • tools/nolibc: add support for uname(2)
  • Rust
    • 1.78.0 upgrade
    • time: Add Ktime
    • Arc methods for linked list ,
    • Allocation APIs
    • Add Module::as_ptr
  • rtla usage improvements
  • rtla: Add --trace-buffer-size option
  • ring-buffer: Have mmapped ring buffer keep track of missed events
  • RCU: Reduce synchronize_rcu() latency
  • NT synchronization primitive driver
  • lib: add version into /proc/allocinfo output
  • kbuild: enable some -Wextra warnings by default
  • IOMMU memory observability
  • Detect interrupt storm in softlockup
  • Fixes and cleanups to fs-writeback
  • modules: jit/text allocator
  • Unified cross-architecture kernel-mode FPU API

File systems

BTRFS

  • Add a shrinker for extent maps
  • Restrain lock extent usage during writeback
  • compression: migrate to folio interfaces
  • Convert put_file_data() to folios

CEPH

  • Check the cephx mds auth access in client side

EROFS

  • Zstandard compression support
  • Add a reserved buffer pool for lz4 decompression

EXT4

  • Add support for FS_IOC_GETFSSYSFSPATH

F2FS

  • Assign the write hint per stream by default
  • Support to map continuous holes or preallocated address ,
  • Use folios

FUSE

  • Add initial support for fs-verity

NFS

  • Add atomic_open for NFSv3 to handle O_TRUNC correctly
  • Don't enable NFS v2 by default
  • Trivial GET_DIR_DELEGATION support
  • Force all NFSv4.2 COPY requests to be synchronous
  • Expand the implementation of OFFLOAD_STATUS ,
  • Convert write_threads, write_version and write_ports to netlink commands

OCFS2

  • Improve write IO performance when fragmentation is high

XFS

  • Atomic file content exchanges. A new XFS_IOC_EXCHANGE_RANGE ioctl is added to exchange ranges of bytes between two files atomically
  • Add Parent Pointers attributes to each inode. The attribute name containing the parent inode, generation, and directory offset, while the attribute value contains the file name. This feature will enable future optimizations for online scrub, shrink, nfs handles, verity, or any other feature that could make use of quickly deriving an inodes path from the mount point
  • Scrubbing for parent pointers
  • Online repair for parent pointers
  • RT delalloc support
  • Vectorize scrub kernel calls
  • Create temporary files for online repair
  • Online repair of realtime summaries
  • Online repair of extended attributes
  • Online repair of symbolic links
  • Move orphan files to lost and found
  • Online repair of directories
  • Detect and correct directory tree problems

SMB

  • netfs, cifs: Delegate high-level I/O to netfslib

UDF

  • Convert UDF to folios

OPENPROMFS

  • Finish conversion to the new mount API

ISOFS

  • Convert isofs to use the new mount API

MINIX

  • Convert minix to use the new mount api

FREEVXFS

  • Convert freevxfs to the new mount API

OVERLAYFS

  • Implement tmpfile

QNX6

  • Convert qnx6 to use the new mount api

TRACEFS/DEBUGFS

  • Convert debugfs & tracefs to the new mount API ,

NILFS2

  • Convert to use the new mount API

Memory management

  • (FEATURED) Introduce mseal
  • Memory allocation profiling: Low overhead per-callsite memory allocation profiling. Not just for debug kernels, overhead low enough to be deployed in production
  • slub: Reduce memory consumption in extreme scenarios
  • Reduce memory consumption by memcg stats
  • zram: add max_pages param to recompression
  • Swap-out mTHP without splitting
  • Accelerate pagefault when badaccess
  • damon: add a DAMOS filter type for page granularity access recheck
  • page_table_check: support userfault wr-protect entries
  • page_alloc: allowing mTHP compaction to capture the freed page directly
  • Add per-order mTHP alloc and swpout counters
  • Transfer page to folio in KSM
  • gup: remove the hugetlb slow gup path after a previous refactor work, so that slow gup now uses the exact same path to process all kinds of memory including hugetlb
  • vmalloc: eliminated the lock contention from twice to once
  • Make the hugetlb migration strategy consistent
  • madvise: enhance lazyfreeing with mTHP in madvise_free
  • batch mm counter updating in filemap_map_pages()
  • mapcount for large folios + page_mapcount() cleanups
  • Implements the "init_mlocked_on_free" boot option. When this boot option is enabled, any mlock'ed pages are zeroed on free
  • Support multi-size THP numa balancing
  • filemap: optimize folio adding and splitting
  • zswap same-filled and limit checking cleanups
  • zswap: replace RB tree with xarray
  • Improved Memory Tier Creation for CPUless NUMA Nodes ,

Block layer

  • Improve visibility of writeback: 1) /sys/kernel/debug/bdi/xxx/stats show writeback info of whole bdi instead of only writeback info in root cgroup 2) debug file /sys/kernel/debug/bdi/xxx/wb_stats to show per wb writeback 3) wb_monitor.py script to monitor basic writeback info of running system
  • Support to account io_ticks precisely
  • Zone write plugging
  • NCQ Priority sysfs sttributes for libsas
  • Add LIBSAS_SHT_BASE for libsas
  • brd: implement discard support
  • dm-crypt: add the optional "high_priority" flag
  • dm-crypt: export sysfs of all workqueues
  • blk-throttle: support enable and disable during runtime
  • Add a partscan sysfs attribute for disks
  • ufs: exynos: Add support for Tensor gs101 SoC
  • ufs: exynos: Add EXYNOS_UFS_OPT_TIMER_TICK_SELECT option
  • ufs: exynos: Add EXYNOS_UFS_OPT_UFSPR_SECURE option
  • ufs: Remove support for old UFSHCI versions

Architectures

ARM

  • Add the arm64.no32bit_el0 command line option
  • Add USER_STACKTRACE support
  • Speed up boot with faster linear map creation
  • mm: Enable userfaultfd write-protect
  • bpf: Add support for BPF Arena
  • bpf: Add support for lse atomics in bpf_arena
  • KVM: Add NV support for ERET and PAuth
  • errata: Add workaround for Arm errata 3194386 and 3312417
  • Add a build target for Flat Image Tree
  • mm: swap: support THP_SWAP on hardware with MTE
  • Device Tree Sources
  • allwinner: Add Anbernic RG35XX (Plus/H/2024) support
  • Add support for Airoha EN7581 Soc
  • rockchip: Add Radxa ROCK 3C
  • Add ArmSom Sige7 board
  • allwinner: Add Tanix TX1 support
  • freescale: Add Toradex Colibri iMX8DX
  • Xperia 1 V support
  • Add Support for RK3326 GameForce Chi
  • rockchip: add Forlinx OK3588-C
  • Add Protonic MECSBC board support
  • Add pmic pca9451a support
  • Add support for Emcraft Systems NavQ+ kit
  • NXP S32G3 SoC initial bring-up
  • rockchip: add wolfvision pf5 mainboard
  • Add device tree source for the Au-Zone Maivin AI Vision Starter Kit
  • Baisc devicetree support for Amlogic A4 and A5
  • Document ASUS RT-AC3200 and ASUS RT-AC5300 and add device trees
  • qcom: msm8974: Add Samsung Galaxy S5 China support
  • sun5i: Add PocketBook 614 Plus support
  • qcom: Add support for Motorola Moto G (2013)
  • Split sony-castor into shinano-common and add Sony Xperia Z3
  • imx6ull: add seeed studio NPi dev board
  • imx: Add UNI-T UTi260B thermal camera board
  • Add device trees for ASrock E3C256D4I & SPC621D8HM3
  • aspeed: x4tf: Add dts for asus x4tf project
  • aspeed: Remove Facebook Cloudripper dts
  • Add device tree for IBM system1 BMC
  • Add Meta(Facebook) Harma BMC(AST2600)
  • aspeed: asrock: Add ASRock X570D4U BMC
  • Add device trees for ASrock E3C256D4I & SPC621D8HM3
  • Support MediaTek MT8188 Media Data Path 3 (MDP3)
  • Add device tree source for the Au-Zone Maivin AI Vision Starter Kit
  • iommu: Add support for Translation Buffer Units
  • imx8mp: Add support for HDMI
  • Support Neoverse-V2 for Perf Arm SPE
  • Add initial ARM MHUv3 mailbox support
  • meson: add support for MIPI DSI Display
  • Acer Aspire 1 embedded controller
  • Add SoC identification for Renesas RZ/V2H SoC
  • qcom: Add X1E80100 platform and SMB2360 PMIC
  • soc: mediatek: mtk-mutex: Add support for MT8188 VPPSYS
  • SCMI multiple vendor protocol support
  • arm_scmi: Add basic support for SCMI v3.2 pincontrol protocol
  • Add initial ARM MHUv3 mailbox support
  • firmware: arm_ffa: Add support for FFA_MSG_SEND2

POWERPC

  • crash: Kernel handling of CPU and memory hotplug
  • Make fadump resilient with memory add/remove events
  • fadump: pass additional args to dump capture kernel
  • Add dynamic DEXCR support
  • bpf: enable kfunc call
  • dts: add power management nodes to FSL chips

X86

  • Coalesced Interrupt Delivery with posted MSI
  • vdso: Handle potential multiplication overflow
  • purgatory: Switch to the position-independent small code model
  • perf/rapl: Add support for Intel Arrow Lake and Lunar Lake
  • Take NUMA node into account when allocating per-CPU cpumasks
  • mce: Implement recovery for errors in TDX/SEAM non-root mode
  • perf/amd: add LBR capture support outside of hardware events
  • Enable shadow stacks for x32
  • crypto
  • Faster AES-XTS on modern x86_64 CPUs
  • aes-xts: additional tuning
  • aes-xts: handle CTS encryption more efficiently
  • bpf: Add support for certain atomics in bpf_arena to x86 JIT
  • boot: Add a fallthrough annotation

KVM

  • Add SEV-ES hypervisor support for GHCB protocol version 2
  • SEV: allow customizing VMSA features

platform

  • Show Lunar Lake S0ix blocker counter in PMC Core
  • x86-android-tablets: Add swnode for Xiaomi pad2 indicator LED
  • x86-android-tablets: Add Lenovo Yoga Tablet 2 Pro 1380F/L
  • wmi: Add MSI WMI Platform driver
  • touchscreen_dmi: Add support for setting touchscreen properties from cmdline
  • touchscreen_dmi: Add info for 2 new models
  • thinkpad_acpi: Refactor hotkey handling and add support for some new hotkeys
  • add FnLock LED class device to ideapad laptops
  • asus-wmi: add new features, clean up, fixes
  • Add lenovo WMI camera button driver
  • Support partitioned systems
  • ISST: Support SST-BF and SST-TF per level
  • Add new MeeGoPad ANX7428 Type-C Cross Switch driver
  • Add new Dell UART backlight driver
  • Add ACPI quickstart button driver
  • amd/pmc: Add AMD MP2 STB functionality
  • amd: pmc: Add new ACPI ID AMDI000B
  • amd: pmf: Add new ACPI ID AMDI0105
  • Intel On Demand: Adds driver and tool support for a new "current" meter that allows reading the most current, but not attested, value of the meter counters
  • perf intel pt: Update instruction decoder for APX and other new instructions
  • intel_th: pci: Add Granite Rapids support
  • intel_th: pci: Add Lunar Lake support
  • iommu/amd: SVA Support (Part 4) - SVA and IOPF
  • iommu/amd: Enable Guest Translation after reading IOMMU feature register
  • stm class/intel_th: Updates for v6.10
  • powercap: Introduce TPMI RAPL PMU support
  • powercap: intel_rapl: Add support for ArrowLake-H platform

LOONGARCH

KVM

  • Add pv ipi support on LoongArch VM
  • Add mmio trace events support

OPENRISC

  • OpenRISC FPU and Signal handling fixups

RISCV

  • bpf
  • Add support for BPF Arena
  • Inline helpers in arm64 and riscv JITs
  • KVM: RISC-V SBI v2.0 PMU improvements and Perf sampling in KVM guest
  • cmpxchg: enable lockless lockref implementation
  • Create and document PR_RISCV_SET_ICACHE_FLUSH_CTX prctl
  • starfive: add Milkv Mars board device tree
  • hwprobe: export Zihintpause ISA extension
  • Enable building 64-bit kernels with rust support

AIA Support

S390

  • ipl: Introduce sysfs attribute 'scp_data' for dump ipl
  • stackstrace: Detect vdso stack frames
  • mm: Uncouple physical vs virtual address spaces
  • cio: export CHPID operating speed
  • cio: export extended channel-path-measurement data
  • cio: export measurement data for all CMGs
  • vfio-ap: ap_config sysfs attribute for mdevctl automation

ALPHA

  • cleanups for 6.10 (add clone3 support, drop support of old hardware, etc)

ARC

  • Add eBPF JIT support

Complete release notes can be found here.