Linux 6.6.26-xanmod1
XanMod is a general-purpose Linux kernel distribution with custom settings and new features. Built to provide a stable, responsive and smooth desktop experience.
The real-time version is recommended for critical runtime applications such as Linux gaming eSports, streaming, live productions and ultra-low latency enthusiasts.
Supports all recent 64-bit versions of Debian and Ubuntu-based systems.
Main Features
Preemptive Full Tickless Kernel at 500Hz w/ Tuned CPU Core Scheduler. RCU Boost for better responsiveness and lower overall system latency. Block Layer w/ multi-threaded runqueue for high I/O throughput. Caching, Virtual Memory Manager and CPUFreq Governor improvements. BBR TCP Congestion Control + FQ-PIE Packet Scheduling and AQM Algorithm [5.8]. ORC Unwinder for Kernel Stack Traces (debuginfo) implementation. Third-party patchset available: ZSTD kernel, initrd and modules support [5.8][5.6-rt], Full x86_64 FSGSBASE instructions [5.8], Clear Linux [partial], CK's Hrtimer Patchset [5.8][5.4], Wine / Proton Fsync, PCIe ACS Override, BMQ Process Scheduler [5.4 stock disabled], Aufs [5.4] and GCC graysky's. Real-time Linux kernel (PREEMPT_RT) build available [5.6-rt][5.4-rt]. Generic kernel package for compatibility with most Debian & Ubuntu based distributions. Built on the latest GCC 10.2 and Binutils 2.35. GPLv2 license. Can be built for any distribution or purpose.Install via Terminal
echo 'deb http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-kernel.list && wget -qO - https://dl.xanmod.org/gpg.key | sudo apt-key add -Then update and install:
sudo apt update && sudo apt install linux-xanmodReboot.
Meta packages available: linux-xanmod, linux-xanmod-edge, linux-xanmod-lts, linux-xanmod-rt-edge and linux-xanmod-rt.
To try without adding the repository
* linux-firmware-image package is optionalDownload from Sourceforge and install:
https://sourceforge.net/projects/xanmod/files/
In terminal:sudo dpkg -i linux-image-*xanmod*.deb linux-headers-*xanmod*.deb Reboot.
Check it:cat /proc/version
- bd62b21 Linux 6.6.26-xanmod1
- b953134 mm/vmscan: vm.workingset_protection: On by default
- 365b514 mm/vmscan: Add sysctl knobs for protecting the working set [le9uo-1.5]
- 0225682 Merge tag 'v6.6.26' into 6.6
- 99c7e5a Revert "mm/vmscan: add sysctl knobs for protecting the working set"
- 0ccfb8e Linux 6.6.26
- 6d9ef0c x86: set SPECTRE_BHI_ON as default
- cb238e9 KVM: x86: Add BHI_NO
- 1c42ff8 x86/bhi: Mitigate KVM by default
- d414b40 x86/bhi: Add BHI mitigation knob
- 118794d x86/bhi: Enumerate Branch History Injection (BHI) bug
- c6e3d59 x86/bhi: Define SPEC_CTRL_BHI_DIS_S
- eb36b0d x86/bhi: Add support for clearing branch history at syscall entry
- eb0f175 x86/syscall: Don't force use of indirect calls for system calls
- 108feca x86/bugs: Change commas to semicolons in 'spectre_v2' sysfs file
- 0465453 x86/boot: Move mem_encrypt= parsing to the decompressor
- ccde70a x86/efistub: Remap kernel text read-only before dropping NX attribute
- 56408ed x86/sev: Move early startup code into .head.text section
- af90ced x86/sme: Move early SME kernel encryption handling into .head.text
- dc4cbf9 efi/libstub: Add generic support for parsing mem_encrypt=
- 5447cb9 x86/head/64: Move the __head definition to <asm/init.h>
- 876941f bpf: support deferring bpf_link dealloc to after RCU grace period
- 771690b bpf: put uprobe link's path and task in release callback
- 43eca11 mptcp: don't account accept() of non-MPC client as fallback to TCP
- 12f353f mptcp: don't overwrite sock_ops in mptcp_is_tcpsk()
- 5b5ff82 selftests: mptcp: connect: fix shellcheck warnings
- e4a4493 of: module: prevent NULL pointer dereference in vsnprintf()
- 37b81ae Revert "x86/mpparse: Register APIC address only once"
- a7ff84a drm/i915/gt: Enable only one CCS for compute workload
- 726ff62 drm/i915/gt: Do not generate the command streamer for all the CCS
- c1f7ce2 drm/i915/gt: Disable HW load balancing for CCS
- 2cfff21 smb: client: fix potential UAF in cifs_signal_cifsd_for_reconnect()
- aa582b3 smb: client: fix potential UAF in smb2_is_network_name_deleted()
- 0a15ba8 smb: client: fix potential UAF in is_valid_oplock_break()
- f92739f smb: client: fix potential UAF in smb2_is_valid_lease_break()
- 21fed37 smb: client: fix potential UAF in smb2_is_valid_oplock_break()
- 10e17ca smb: client: fix potential UAF in cifs_dump_full_key()
- c3cf8b7 smb: client: fix potential UAF in cifs_stats_proc_show()
- cf03020 smb: client: fix potential UAF in cifs_stats_proc_write()
- a65f2b5 smb: client: fix potential UAF in cifs_debug_files_proc_show()
- 6f17163 smb3: retrying on failed server close
- ba55f8a smb: client: serialise cifs_construct_tcon() with cifs_mount_mutex
- 9b2ee27 smb: client: handle DFS tcons in cifs_construct_tcon()
- 00effef riscv: process: Fix kernel gp leakage
- 7a82963 riscv: Fix spurious errors from __get/put_kernel_nofault
- 3dcb222 s390/entry: align system call table on 8 bytes
- 782baf5 selftests/mm: include strings.h for ffsl
- 43fad1d mm/secretmem: fix GUP-fast succeeding on secretmem folios
- 8a44119 arm64/ptrace: Use saved floating point state type to determine SVE layout
- 92f32f1 perf/x86/intel/ds: Don't clear ->pebs_data_cfg for the last PEBS event
- 453b5f2 x86/coco: Require seeding RNG with RDRAND on CoCo systems
- 5a02df3 x86/mce: Make sure to grab mce_sysfs_mutex in set_bank()
- 51b7841 x86/mm/pat: fix VM_PAT handling in COW mappings
- 801c8b8 of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
- dfa6557 driver core: Introduce device_link_wait_removal()
- 65938e8 io_uring/kbuf: hold io_buffer_list reference over mmap
- 6b9d49b io_uring: use private workqueue for exit work
- b392402 io_uring/kbuf: protect io_buffer_list teardown with a reference
- 4c0a5da io_uring/kbuf: get rid of bl->is_ready
- d6e03f6 io_uring/kbuf: get rid of lower BGID lists
- 781477d ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone
- 04d78aa ALSA: hda/realtek - Fix inactive headset mic jack
- 67c477f ksmbd: do not set SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1
- a637fab ksmbd: validate payload size in ipc response
- a06562f ksmbd: don't send oplock break if rename fails
- 2f0262a gpio: cdev: fix missed label sanitizing in debounce_setup()
- d9f0804 gpio: cdev: check for NULL labels when sanitizing them for irqs
- 63bd086 x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk
- ac522af ice: fix typo in assignment
- 9d60e8e nfsd: hold a lighter-weight client reference over CB_RECALL_ANY
- 6e307a6 riscv: Disable preemption when using patch_map()
- 1ba1291 SUNRPC: Fix a slow server-side memory leak with RPC-over-TCP
- e12149d ASoC: SOF: amd: fix for false dsp interrupts
- cbd080c ata: sata_mv: Fix PCI device ID table declaration compilation warning
- 4b31a22 spi: mchp-pci1xxx: Fix a possible null pointer dereference in pci1xxx_spi_probe
- 0fdada1 cifs: Fix caching to try to do open O_WRONLY as rdwr on server
- 0f28afe Revert "ALSA: emu10k1: fix synthesizer sample playback position and caching"
- f3e692c scsi: sd: Unregister device if device_add_disk() failed in sd_probe()
- 56de23e scsi: mylex: Fix sysfs buffer lengths
- 4cad40d ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit
- fce7a54 regmap: maple: Fix uninitialized symbol 'ret' warnings
- 04b5238 ASoC: amd: acp: fix for acp_init function error handling
- 3d3e148 spi: s3c64xx: Use DMA mode from fifo size
- 5448a99 spi: s3c64xx: determine the fifo depth only once
- f8a6edd spi: s3c64xx: allow full FIFO masks
- 6f9d907 spi: s3c64xx: define a magic value
- 3fa0085 spi: s3c64xx: remove else after return
- 56aeaed spi: s3c64xx: explicitly include <linux/bits.h>
- 0df4616 spi: s3c64xx: sort headers alphabetically
- bb3ee5f spi: s3c64xx: Extract FIFO depth calculation to a dedicated macro
- 80ca762 ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw
- 229c761 ASoC: rt722-sdca-sdw: fix locking sequence
- 1064108 ASoC: rt712-sdca-sdw: fix locking sequence
- 3bfbc53 ASoC: rt711-sdw: fix locking sequence
- 53c8045 ASoC: rt711-sdca: fix locking sequence
- 8eea5ae ASoC: rt5682-sdw: fix locking sequence
- cc4d9f0 drm/prime: Unbreak virtgpu dma-buf export
- 692a51b nouveau/uvmm: fix addr/range calcs for remap operations
- 9e3941c drm/panfrost: fix power transition timeout warnings
- 4930d7a ALSA: hda: cs35l56: Add ACPI device match tables
- 3af6c5a regmap: maple: Fix cache corruption in regcache_maple_drop()
- 4e73748 RISC-V: Update AT_VECTOR_SIZE_ARCH for new AT_MINSIGSTKSZ
- b2ddeb7 drivers/perf: riscv: Disable PERF_SAMPLE_BRANCH_* while not supported
- 3e1a29f ASoC: wm_adsp: Fix missing mutex_lock in wm_adsp_write_ctl()
- 40613ea 9p: Fix read/write debug statements to report server reply
- f4a192c fs/pipe: Fix lockdep false-positive in watchqueue pipe_write()
- ab7a6fe KVM: SVM: Add support for allowing zero SEV ASIDs
- 79b79ea KVM: SVM: Use unsigned integers when dealing with ASIDs
- 0a583b7 net: ravb: Always update error counters
- 1dd9204 net: ravb: Always process TX descriptor ring
- a9fb2f7 net: ravb: Let IP-specific receive function to interrogate descriptors
- 199a131 e1000e: move force SMBUS from enable ulp function to avoid PHY loss issue
- eb96a5c e1000e: Minor flow correction in e1000_shutdown function
- 1d16cd9 e1000e: Workaround for sporadic MDI error on Meteor Lake systems
- d5752c7 intel: legacy: field get conversion
- e383353 intel: add bit macro includes where needed
- e77220e i40e: Remove circular header dependencies and fix headers
- 59a9de1 i40e: Split i40e_osdep.h
- 2ee5326 i40e: Move memory allocation structures to i40e_alloc.h
- 0ed1150 i40e: Simplify memory allocation functions
- 0c52a50 virtchnl: Add header dependencies
- 45116a7 i40e: Refactor I40E_MDIO_CLAUSE* macros
- f629cf1 i40e: Remove back pointer from i40e_hw structure
- 66ca011 i40e: Enforce software interrupt during busy-poll exit
- e6d25db i40e: Remove _t suffix from enum type names
- 3da10e9 drm/amd: Flush GFXOFF requests in prepare stage
- da67a11 drm/amd: Add concept of running prepare_suspend() sequence for IP blocks
- 8b5f720 drm/amd: Evict resources during PM ops prepare() callback
- 4356a2c drm/amd/display: Prevent crash when disable stream
- 8dc9a27 drm/amd/display: Fix DPSTREAM CLK on and off sequence
- 113b12e usb: typec: ucsi: Fix race between typec_switch and role_switch
- 0dcf573 i40e: fix vf may be used uninitialized in this function warning
- 89e2941 i40e: fix i40e_count_filters() to count only active/new filters
- 76c39cf octeontx2-af: Add array index check
- 43b69da octeontx2-pf: check negative error code in otx2_open()
- b08b0c7 octeontx2-af: Fix issue with loading coalesced KPU profiles
- 03b6f36 udp: prevent local UDP tunnel packets from being GROed
- 2a1b61d udp: do not transition UDP GRO fraglist partial checksums to unnecessary
- 3001e7a udp: do not accept non-tunnel GSO skbs landing in a tunnel
- a5eae74 r8169: skip DASH fw status checks when DASH is disabled
- 36a1cb0 mlxbf_gige: stop interface during shutdown
- f2dd75e ipv6: Fix infinite recursion in fib6_dump_done().
- 74204bf ax25: fix use-after-free bugs caused by ax25_ds_del_timer
- 8b88752 tcp: Fix bind() regression for v6-only wildcard and v4(-mapped-v6) non-wildcard addresses.
- 690e877 selftests: reuseaddr_conflict: add missing new line at the end of the output
- 4e3fdee erspan: make sure erspan_base_hdr is present in skb->head
- a03e138 i40e: Fix VF MAC filter removal
- b9bd149 ice: fix enabling RX VLAN filtering
- fc126c1 gro: fix ownership transfer
- 3986409 selftests: net: gro fwd: update vxlan GRO test expectations
- 23e1c68 net: dsa: mv88e6xxx: fix usable ports on 88e6020
- 95c1016 net: phy: micrel: Fix potential null pointer dereference
- f996e5e net: fec: Set mac_managed_pm during probe
- 22a44ee net: txgbe: fix i2c dev name cannot match clkdev
- 1e30432 net: phy: micrel: lan8814: Fix when enabling/disabling 1-step timestamping
- 784a656 net: stmmac: fix rx queue priority assignment
- c040b99 net/sched: fix lockdep splat in qdisc_tree_reduce_backlog()
- f4d1fa5 net: dsa: sja1105: Fix parameters order in sja1110_pcs_mdio_write_c45()
- 729ad2a net/sched: act_skbmod: prevent kernel-infoleak
- 3dcaf25 KVM: arm64: Ensure target address is granule-aligned for range TLBI
- 3ec2110 x86/retpoline: Do the necessary fixup to the Zen3/4 srso return thunk for !SRSO
- 668b307 bpf, sockmap: Prevent lock inversion deadlock in map delete elem
- 55fabde vboxsf: Avoid an spurious warning if load_nls_xxx() fails
- 81d51b9 netfilter: validate user input for expected length
- 9627fd0 netfilter: nf_tables: discard table flag update with pending basechain deletion
- 8b89115 netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get()
- 333b508 netfilter: nf_tables: flush pending destroy work before exit_net release
- 420132b netfilter: nf_tables: reject new basechain after table flag update
- e40f32f x86/bugs: Fix the SRSO mitigation on Zen3/4
- 93eae88 x86/nospec: Refactor UNTRAIN_RET[_*]
- 820a362 x86/srso: Disentangle rethunk-dependent options
- 6b10edf x86/srso: Improve i-cache locality for alias mitigation
- 065012b vsock/virtio: fix packet delivery to tap device
- ca58927 net: mana: Fix Rx DMA datasize and skb_over_panic
- 426366d net: usb: ax88179_178a: avoid the interface always configured as random address
- 92309be net/rds: fix possible cp null dereference
- 27aa3e4 xen-netfront: Add missing skb_mark_for_recycle
- 117eed2 selftests: mptcp: join: fix dev in check_endpoint
- 8038ee3 netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path
- b0b36dc netfilter: nf_tables: release batch on table validation from abort path
- d75632d Bluetooth: Fix TOCTOU in HCI debugfs implementation
- 4a32840 Bluetooth: hci_event: set the conn encrypted before conn establishes
- 57e089d Bluetooth: add quirk for broken address properties
- 1622e56 Bluetooth: qca: fix device-address endianness
- b99d061 arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken
- 417c6cc Revert "Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT"
- 3f9d57c x86/bpf: Fix IP after emitting call depth accounting
- 4d47169 x86/cpufeatures: Add CPUID_LNX_5 to track recently added Linux-defined word
- b990610 r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d
- 477ed67 selinux: avoid dereference of garbage after mount failure
- 9e2af26 KVM: arm64: Fix host-programmed guest events in nVHE
- 651bf5b RISC-V: KVM: Fix APLIC in_clrip[x] read emulation
- 200cc2c RISC-V: KVM: Fix APLIC setipnum_le/be write emulation
- 21bc9b1 gpio: cdev: sanitize the label before requesting the interrupt
- a267160 modpost: do not make find_tosym() return NULL
- 2bc92c6 modpost: Optimize symbol search from linear to binary search
- 55ed6c4 perf/x86/amd/lbr: Use freeze based on availability
- 56e7373 x86/cpufeatures: Add new word for scattered features
- 69fe5f1 perf/x86/amd/core: Update and fix stalled-cycles-* events for Zen 2 and later
- d2be2f8 x86/CPU/AMD: Add X86_FEATURE_ZEN1
- 5427302 x86/CPU/AMD: Get rid of amd_erratum_1054[]
- 8245498 x86/CPU/AMD: Move the DIV0 bug detection to the Zen1 init function
- 702a652 x86/CPU/AMD: Move Zenbleed check to the Zen2 init function
- 2577e2a x86/CPU/AMD: Move erratum 1076 fix into the Zen1 init function
- eae5902 x86/CPU/AMD: Carve out the erratum 1386 fix
- 936e59c x86/CPU/AMD: Add ZenX generations flags
- 49d640d btrfs: fix race when detecting delalloc ranges during fiemap
- 8cc484e btrfs: ensure fiemap doesn't race with writes when FIEMAP_FLAG_SYNC is given
- fbc0a83 Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped."
- 907835e mm/treewide: replace pud_large() with pud_leaf()
- 7cd73d9 dm integrity: fix out-of-range warning
- 2564623 drm/i915/mtl: Update workaround 14018575942
- 798781b drm/i915/xelpg: Extend some workarounds/tuning to gfx version 12.74
- 338db81 drm/i915/mtl: Update workaround 14016712196
- ec84b2a drm/i915: Replace several IS_METEORLAKE with proper IP version checks
- b374961 drm/i915: Eliminate IS_MTL_GRAPHICS_STEP
- 18e7795 drm/i915/xelpg: Call Xe_LPG workaround functions based on IP version
- 67f7fba drm/i915: Consolidate condition for Wa_22011802037
- 6b25099 drm/i915: Tidy workaround definitions
- 0a9901f drm/i915/dg2: Drop pre-production GT workarounds
- f487722 inet: inet_defrag: prevent sk release while still in use
- 54720f6 Octeontx2-af: fix pause frame configuration in GMP mode
- 74a78a0 net: lan743x: Add set RFE read fifo threshold for PCI1x1x chips
- 4bb7ad1 net: bcmasp: Bring up unimac after PHY link up
- cf89395 netfilter: nf_tables: skip netdev hook unregistration if table is dormant
- 2d0d1ab netfilter: nf_tables: reject table flag and netdev basechain updates
- cddd048 netfilter: nf_tables: reject destroy command to remove basechain hooks
- 614bc8c cifs: Fix duplicate fscache cookie warnings
- 3f0784b bpf: Protect against int overflow for stack access size
- 867a2f5 mlxbf_gige: call request_irq() after NAPI initialized
- f1b7f14 tls: get psock ref after taking rxlock to avoid leak
- f19e995 tls: adjust recv return with async crypto and failed copy to userspace
- dc4bce2 tls: recv: process_rx_list shouldn't use an offset with kvec
- 872f574 net: hns3: mark unexcuted loopback test result as UNEXECUTED
- 1b550da net: hns3: fix kernel crash when devlink reload during pf initialization
- b033da1 net: hns3: fix index limit to support all queue stats
- 77ffc72 ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields()
- 7fb8b3d selftests: vxlan_mdb: Fix failures with old libnet
- 2e22c9c net: wwan: t7xx: Split 64bit accesses to fix alignment issues
- c1ae4d1 tcp: properly terminate timers for kernel sockets
- 984c3d9 net: hsr: hsr_slave: Fix the promiscuous mode in offload mode
- 21dea14 s390/qeth: handle deferred cc1
- 1b1c0f6 igc: Remove stale comment about Tx timestamping
- 4465b15 ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa()
- e40a02f ice: fix memory corruption bug with suspend and rebuild
- feddf6c ice: realloc VSI stats arrays
- 493b299 ice: Refactor FW data type and fix bitmap casting issue
- 0172edc ALSA: hda: cs35l56: Set the init_done flag before component_add()
- dc1ec9c wifi: iwlwifi: mvm: include link ID when releasing frames
- 13fd96c wifi: iwlwifi: disable multi rx queue for 9000
- c0a40f2 wifi: iwlwifi: mvm: rfi: fix potential response leaks
- 84d30c5 mlxbf_gige: stop PHY during open() error paths
- 5c05bdd tools: ynl: fix setting presence bits in simple nests
- a946ebe nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet
- 087dc50 arm64: bpf: fix 32bit unconditional bswap
- 156c226 dma-buf: Fix NULL pointer dereference in sanitycheck()
- aeecb67 bpf, arm64: fix bug in BPF_LDX_MEMSX
- c3062bd s390/bpf: Fix bpf_plt pointer arithmetic
- 54d38a5 scripts/bpf_doc: Use silent mode when exec make cmd
- cc696ce drm/i915: Pre-populate the cursor physical dma address
- 2c07e24 drm/i915/display: Use i915_gem_object_get_dma_address to get dma address
A new XanMod Linux Kernel based on Linux Kernel 6.6.26 has been released. XanMod is a general-purpose Linux kernel distribution with custom settings and new features. The real-time version is recommended for critical runtime applications such as Linux gaming eSports, streaming, live productions and ultra-low latency enthusiasts.