Debian 9912 Published by

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.



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-xanmod

Reboot.

Meta packages available: linux-xanmodlinux-xanmod-edgelinux-xanmod-ltslinux-xanmod-rt-edge and linux-xanmod-rt.

To try without adding the repository

Download from Sourceforge and install:
https://sourceforge.net/projects/xanmod/files/

  1. In terminal:
    sudo dpkg -i linux-image-*xanmod*.deb linux-headers-*xanmod*.deb
  2. Reboot.
  • Check it:
    cat /proc/version
* linux-firmware-image package is optional

Xanmod

  • 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

Homepage
Download Linux 6.6.26-xanmod1 source from GitHub