Linux 6.6.51-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/versionChange log
- 67e69c6 Linux 6.6.51-xanmod1
- 4eee48d Merge tag 'v6.6.51' into 6.6
- 6d1dc55 Linux 6.6.51
- 611e428 Bluetooth: hci_sync: Fix UAF on hci_abort_conn_sync
- 4d6cf01 Bluetooth: hci_sync: Fix UAF on create_le_conn_complete
- 78155f3 Bluetooth: hci_sync: Fix UAF in hci_acl_create_conn_sync
- 50b6744 spi: spi-fsl-lpspi: Fix off-by-one in prescale max
- 7b5595f btrfs: fix race between direct IO write and fsync when using same fd
- 8eeda5f x86/mm: Fix PTI for i386 some more
- a2977c0 membarrier: riscv: Add full memory barrier in switch_mm()
- 136a29d ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery()
- bd29d84 riscv: Do not restrict memory size because of linear mapping on nommu
- 8289dc9 riscv: Fix toolchain vector detection
- b27ea9c smb: client: fix double put of @CFILE in smb2_rename_path()
- 52b688c gpio: modepin: Enable module autoloading
- 9ceae54 gpio: rockchip: fix OF node leak in probe()
- 60d54a4 drm/i915/fence: Mark debug_fence_free() with __maybe_unused
- a65ebba drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused
- 7c391ea clk: qcom: gcc-sm8550: Don't park the USB RCG at registration time
- a5e871d clk: qcom: gcc-sm8550: Don't use parking clk_ops for QUPs
- b9bb963 ASoC: sunxi: sun4i-i2s: fix LRCLK polarity in i2s mode
- f39bde3 ASoc: SOF: topology: Clear SOF link platform name upon unload
- 05500a4 nvme-pci: allocate tagset on reset if necessary
- 489f291 nvmet-tcp: fix kernel crash if commands allocation fails
- 585c598 ASoC: tegra: Fix CBB error during probe()
- af4d563 powerpc/vdso: Don't discard rela sections
- 547acc2 powerpc/64e: Define mmu_pte_psize static
- 8ea5899 powerpc/64e: split out nohash Book3E 64-bit code
- 8ebe3bb powerpc/64e: remove unused IBM HTW code
- eaccebe clk: qcom: ipq9574: Update the alpha PLL type for GPLLs
- 37b65ea crypto: starfive - Fix nent assignment in rsa dec
- 02b3f88 crypto: starfive - Align rsa input data to 32-bit
- 872f86e ata: libata-scsi: Check ATA_QCFLAG_RTF_FILLED before using result_tf
- c8d4acb ata: libata-scsi: Remove redundant sense_buffer memsets
- 302ba29 drm/amdgpu: handle gfx12 in amdgpu_display_verify_sizes
- 5f2a2bf drm/amd: Add gfx12 swizzle mode defs
- 5ea24dd can: mcp251xfd: rx: add workaround for erratum DS80000789E 6 of mcp2518fd
- 6cdc3fc can: mcp251xfd: clarify the meaning of timestamp
- bf501ab can: mcp251xfd: rx: prepare to workaround broken RX FIFO head index erratum
- 2370061 can: mcp251xfd: mcp251xfd_handle_rxif_ring_uinc(): factor out in separate function
- 62ca6d3 arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry
- acf9ef8 arm64: acpi: Move get_cpu_for_acpi_id() to a header
- 47c310f ACPI: processor: Fix memory leaks in error paths of processor_add()
- 6bf7701 ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add()
- 241bce1 workqueue: Improve scalability of workqueue watchdog touch
- 5ff0a44 workqueue: wq_watchdog_touch is always called with valid CPU
- 0eceaa9 Revert "mm: skip CMA pages when they are not available"
- 9a99747 mm/vmscan: use folio_migratetype() instead of get_pageblock_migratetype()
- c4b69be perf/aux: Fix AUX buffer serialization
- 9faed52 uprobes: Use kzalloc to allocate xol area
- 7eeb718 clocksource/drivers/timer-of: Remove percpu irq related code
- 444c392 clocksource/drivers/imx-tpm: Fix next event not taking effect sometime
- c4f27b1 clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX
- 39e7e59 VMCI: Fix use-after-free when removing resource in vmci_resource_remove()
- 6ed4574 Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic
- de6946b uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind
- 3d1baf3 nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc
- 1f33d9f binder: fix UAF caused by offsets overwrite
- f77dc8a misc: fastrpc: Fix double free of 'buf' in error path
- 7d301dd usb: dwc3: Avoid waking up gadget during startxfer
- f224f37 usb: cdns2: Fix controller reset issue
- 6ef746b usb: dwc3: core: update LC timer as per USB Spec V3.2
- 314125c iio: adc: ad7124: fix chip ID mismatch
- 66d0d59 iio: adc: ad7606: remove frstdata check for serial mode
- fb5d58f iio: adc: ad7124: fix config comparison
- ecc8e1b iio: fix scale application in iio_convert_raw_to_processed_unlocked
- cb0f3f0 iio: buffer-dmaengine: fix releasing dma channel on error
- dc12e49 staging: iio: frequency: ad9834: Validate frequency parameter value
- 5c007a9 intel: legacy: Partial revert of field get conversion
- 4fe707a tcp: process the 3rd ACK with sk_socket for TFO/MPTCP
- 3b84304 cpufreq: amd-pstate: fix the highest frequency issue which limits performance
- 1ec40a1 cpufreq: amd-pstate: Enable amd-pstate preferred core support
- 0b983c0 ACPI: CPPC: Add helper to get the highest performance value
- e031606 riscv: Use accessors to page table entries instead of direct dereference
- 59c9160 riscv: mm: Only compile pgtable.c if MMU
- 1a8b239 mm: Introduce pudp/p4dp/pgdp_get() functions
- 193b1fc riscv: Use WRITE_ONCE() when setting page table entries
- 6c4a878 NFSv4: Add missing rescheduling points in nfs_client_return_marked_delegations
- 07f384c smb/server: fix potential null-ptr-deref of lease_ctx_info in smb2_open()
- b777131 ata: pata_macio: Use WARN instead of BUG
- ff62110 spi: spi-fsl-lpspi: limit PRESCALE bit in TCR register
- 32ee052 MIPS: cevt-r4k: Don't call get_c0_compare_int if timer irq is installed
- d942e85 lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc()
- 7ead730 of/irq: Prevent device address out-of-bounds read in interrupt map walk
- c3af7e4 Squashfs: sanity check symbolic link size
- 6604d76 usbnet: ipheth: race between ipheth_close and error handling
- a4858b0 Input: uinput - reject requests with unreasonable number of slots
- 60dc4ee HID: amd_sfh: free driver_data after destroying hid device
- 30e9ce7 HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup
- fc9fabe s390/vmlinux.lds.S: Move ro_after_init section behind rodata section
- f1eb69a btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry()
- 16ccaf5 spi: hisi-kunpeng: Add verification for the max_frequency provided by the firmware
- d43fde5 kselftests: dmabuf-heaps: Ensure the driver name is null-terminated
- 5a02226 i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup
- 1f48965 i3c: master: svc: resend target address when get NACK
- c03185f vfs: Fix potential circular locking through setxattr() and removexattr()
- e42ea96 regmap: maple: work around gcc-14.1 false-positive warning
- fd8e141 LoongArch: Use correct API to map cmdline in relocate_kernel()
- 938acd8 net: dpaa: avoid on-stack arrays of NR_CPUS elements
- 013dae4 Bluetooth: btnxpuart: Fix Null pointer dereference in btnxpuart_flush()
- 9fd2973 tcp: Don't drop SYN+ACK for simultaneous connect().
- 78c6e39 PCI: Add missing bridge lock to pci_bus_lock()
- ce2e638 riscv: set trap vector earlier
- 124451b cxl/region: Verify target positions using the ordered target list
- 41a0f85 btrfs: replace BUG_ON() with error handling at update_ref_for_cow()
- 7d1df13 btrfs: clean up our handling of refs == 0 in snapshot delete
- e7469c6 btrfs: replace BUG_ON with ASSERT in walk_down_proc()
- 951b696 fs/ntfs3: Check more cases when directory is corrupted
- 6b1b0a8 smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu()
- 6922ab2 drm/amdgpu: reject gang submit on reserved VMIDs
- c2618dc wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id()
- abc8b81 dma-mapping: benchmark: Don't starve others when doing the test
- e16c4c2 jbd2: avoid mount failed when commit block is partial submitted
- 3236afd ext4: fix possible tid_t sequence overflows
- 077c7e5 drm/amdgpu: Set no_hw_access when VF request full GPU fails
- 030958c libbpf: Add NULL checks to bpf_object__{prev_map,next_map}
- 4b83b20 ASoc: TAS2781: replace beXX_to_cpup with get_unaligned_beXX for potentially broken alignment
- 8fecb75 hwmon: (w83627ehf) Fix underflows seen when writing limit attributes
- 2f69554 hwmon: (nct6775-core) Fix underflows seen when writing limit attributes
- 46e4fd3 hwmon: (lm95234) Fix underflows seen when writing limit attributes
- 6891b11 hwmon: (adc128d818) Fix underflows seen when writing limit attributes
- 3a986d1 crypto: qat - fix unintentional re-enabling of error interrupts
- 7b1d779 scsi: pm80xx: Set phy->enable_completion only when we wait for it
- 2f49e05 scsi: ufs: core: Remove SCSI host only if added
- c83d464 wifi: rtw88: usb: schedule rx work after everything is set up
- c5b3014 virtio_ring: fix KMSAN error for premapped mode
- b82d4d5 pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv
- 72377ce devres: Initialize an uninitialized struct member
- ec5b47a um: line: always fill *error_out in setup_one_line()
- 84a6b76 cgroup: Protect css->cgroup write under css_set_lock
- 7cfa7ab iommu/vt-d: Handle volatile descriptor status read
- 8b32674 dm init: Handle minors larger than 255
- 67786b2 ASoC: topology: Properly initialize soc_enum values
- 8bdbc44 phy: zynqmp: Take the phy mutex in xlate
- 441e6f5 firmware: cs_dsp: Don't allow writes to read-only controls
- e997b35 xen: privcmd: Fix possible access to a freed kirqfd instance
- 2b110cc selftests: net: enable bind tests
- 97d6274 net: dsa: vsc73xx: fix possible subblocks range of CAPT block
- c6c535a net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN
- 565eb51 r8152: fix the firmware doesn't work
- 1df42be fou: Fix null-ptr-deref in GRO.
- 4053158 bareudp: Fix device stats updates.
- f8d6acb bpf, net: Fix a potential race in do_sock_getsockopt()
- 2174a3c net/socket: Break down __sys_getsockopt
- e88c16a net/socket: Break down __sys_setsockopt
- 09fba01 bpf: Add sockptr support for setsockopt
- 4a746fb bpf: Add sockptr support for getsockopt
- 07200e3 usbnet: modern method to get random MAC
- 81e5622 ice: do not bring the VSI up, if it was down before the XDP setup
- 2f057db ice: protect XDP configuration with a mutex
- 26928c8 net: phy: Fix missing of_node_put() for leds
- 217539e hwmon: (hp-wmi-sensors) Check if WMI event data exists
- ed60aab igc: Unlock on error in igc_io_resume()
- 249c88e Bluetooth: MGMT: Fix not generating command complete for MGMT_OP_DISCONNECT
- d56412e Bluetooth: hci_sync: Introduce hci_cmd_sync_run/hci_cmd_sync_run_once
- d948e1f Bluetooth: hci_sync: Attempt to dequeue connection attempt
- 1499f79 Bluetooth: hci_sync: Add helper functions to manipulate cmd_sync queue
- 98f66ea Bluetooth: hci_conn: Fix UAF Write in __hci_acl_create_connection_sync
- e78bd85 Bluetooth: Remove pending ACL connection attempts
- c57edb5 Bluetooth: hci_conn: Only do ACL connections sequentially
- 9cd7289 Bluetooth: hci_event: Use HCI error defines instead of magic values
- a22cbf1 Bluetooth: qca: If memdump doesn't work, re-enable IBS
- 503901d can: kvaser_pciefd: Use a single write when releasing RX buffers
- 6587b38 can: kvaser_pciefd: Move reset of DMA RX buffers to the end of the ISR
- 00e4c69 can: kvaser_pciefd: Rename board_irq to pci_irq
- 4240850 can: kvaser_pciefd: Remove unnecessary comment
- c1fb622 can: kvaser_pciefd: Skip redundant NULL pointer check in ISR
- c5e2367 regulator: core: Stub devm_regulator_bulk_get_const() if !CONFIG_REGULATOR
- dc2694e platform/x86: dell-smbios: Fix error path in dell_smbios_init()
- efe8eff ice: Add netif_device_attach/detach into PF reset flow
- 4dde043 igb: Fix not clearing TimeSync interrupts for 82580
- 0a9423f cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target region
- b4b2115 rust: kbuild: fix export of bss symbols
- 4de4e53 rust: Use awk instead of recent xargs
- 0e52907 can: mcp251xfd: fix ring configuration when switching from CAN-CC to CAN-FD mode
- db5aca7 can: m_can: Release irq on error in m_can_open
- 4377b79 can: bcm: Remove proc entry when dev is unregistered.
- 9a41def drm/amdgpu: check for LINEAR_ALIGNED correctly in check_tiling_flags_gfx6
- dfafee0 drm/amd/display: Check denominator pbn_div before used
- dd48992 pcmcia: Use resource_size function on resource object
- b4987d0 media: qcom: camss: Add check for v4l2_fwnode_endpoint_parse
- 6970213 Input: ili210x - use kvmalloc() to allocate buffer for firmware update
- 576d0fb PCI: keystone: Add workaround for Errata #i2037 (AM65x SR 1.0)
- 7b645e6 ice: Check all ice_vsi_rebuild() errors in function
- 4ef0184 vfio/spapr: Always clear TCEs before unsetting the window
- 4676bac media: vivid: don't set HDMI TX controls if there are no HDMI outputs
- 2521ba3 drm/amdgpu: clear RB_OVERFLOW bit when enabling interrupts
- 8bc7b3c drm/amdgpu: Fix smatch static checker warning
- 1bd1fe1 drm/amd/display: Check HDCP returned status
- 874e3bb drm/amd/display: Run DC_LOG_DC after checking link->link_enc
- b2a50ff usb: gadget: aspeed_udc: validate endpoint index for ast udc
- 4292441 usb: uas: set host status byte on data completion error
- d22d72e wifi: brcmsmac: advertise MFP_CAPABLE to enable WPA3
- 56b7104 leds: spi-byte: Call of_node_put() on error path
- 6ae2e31 media: vivid: fix wrong sizeimage value for mplane
- 1741021 riscv: kprobes: Use patch_text_nosync() for insn slots
- d670934 fs/ntfs3: One more reason to mark inode bad
- a563307 udf: Avoid excessive partition lengths
- 415f363 wifi: iwlwifi: mvm: use IWL_FW_CHECK for link ID check
- 54921e9 netfilter: nf_conncount: fix wrong variable type
- 75758ca iommu: sun50i: clear bypass register
- 4ebd15a x86/kmsan: Fix hook for unaligned accesses
- 9c2450c af_unix: Remove put_pid()/put_cred() in copy_peercred().
- 29ac5a9 irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1
- 9a17321 accel/habanalabs/gaudi2: unsecure edma max outstanding register
- 53f1740 ELF: fix kernel.randomize_va_space double read
- 3c9e790 bpf, verifier: Correct tail_call_reachable for bpf prog
- b181e96 smack: unix sockets: fix accept()ed socket label
- 838c2cf wifi: ath12k: fix firmware crash due to invalid peer nss
- b366b1e wifi: ath12k: fix uninitialize symbol error on ath12k_peer_assoc_h_he()
- fd05943 ALSA: hda: Add input value sanity checks to HDMI channel map controls
- 4a67c7c ALSA: control: Apply sanity check of input values for user elements
- 337266a drm/i915: Do not attempt to load the GSC multiple times
- 0a1a961 nilfs2: fix state management in error path of log writing function
- 8c6e43b nilfs2: protect references to superblock parameters exposed in sysfs
- 9d8c3a5 nilfs2: fix missing cleanup on rollforward recovery error
- d4a9039 sched: sch_cake: fix bulk flow accounting logic for host fairness
- 18a5a16 ila: call nf_unregister_net_hooks() sooner
- c8219a2 tcp_bpf: fix return value of tcp_bpf_sendmsg()
- 9447901 Revert "drm/amdgpu: align pp_power_profile_mode with kernel docs"
- 73d20d0 x86/apic: Make x2apic_disable() work correctly
- 55c834b x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported
- ec36815 net: mctp-serial: Fix missing escapes on transmit
- 9e0bff4 net: mana: Fix error handling in mana_create_txq/rxq's NAPI cleanup
- 05e0829 eventfs: Use list_del_rcu() for SRCU protected list variable
- e0d7249 fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF
- 3c6b4bc userfaultfd: fix checks for huge PMDs
- 4a594ac userfaultfd: don't BUG_ON() if khugepaged yanks our page table
- b4fdabf tracing/timerlat: Add interface_lock around clearing of kthread in stop_kthread()
- 993ecb4 tracing: Avoid possible softlockup in tracing_iter_reset()
- 8c72f0b tracing/timerlat: Only clear timer if a kthread exists
- 7a5f018 tracing/osnoise: Use a cpumask to know what threads are kthreads
- d034bff spi: rockchip: Resolve unbalanced runtime PM / system PM handling
- 1b2770e mm: vmalloc: ensure vmap_block is initialised before adding to queue
- c318a4b kexec_file: fix elfcorehdr digest exclusion when CONFIG_CRASH_HOTPLUG=y
- 8fecde9 can: mcp251x: fix deadlock if an interrupt occurs during mcp251x_open
- f58f233 clk: qcom: clk-alpha-pll: Fix the trion pll postdiv set rate API
- 2294938 clk: qcom: clk-alpha-pll: Fix the pll post div mask
- 72f4fc5 clk: starfive: jh7110-sys: Add notifier for PLL0 clock
- f36df5c fuse: fix memory leak in fuse_create_open
- bfd55cd fuse: use unsigned type for getxattr/listxattr size truncation
- ad6451a fuse: update stats for pages in dropped aux writeback list
- a7fa220 mmc: cqhci: Fix checking of CQHCI_HALT state
- 4c65206 mmc: sdhci-of-aspeed: fix module autoloading
- 5b4bf39 mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K
- 115a755 mmc: core: apply SD quirks earlier during probe
- 84996e9 Bluetooth: MGMT: Ignore keys being loaded with invalid type
- c425295 Revert "Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE"
- f927589 rust: macros: provide correct provenance when constructing THIS_MODULE
- d6344cc rust: types: Make Opaque::get const
- 77ee2ea nvme-pci: Add sleep quirk for Samsung 990 Evo
- 85f03ca rtmutex: Drop rt_mutex::wait_lock before scheduling
- 0b46b4a x86/kaslr: Expose and use the end of the physical memory address space
- 2f4d7b7 irqchip/gic-v2m: Fix refcount leak in gicv2m_of_init()
- 0eaf812 perf/x86/intel: Limit the period on Haswell
- ef00818 x86/tdx: Fix data leak in mmio_read()
- c0fbc95 ata: libata: Fix memory leak for error path in ata_host_alloc()
- f75881f ksmbd: Unlock on in ksmbd_tcp_set_interfaces()
- 41bc256 ksmbd: unset the binding mark of a reused connection
- 5a72d1e smb: client: fix double put of @CFILE in smb2_set_path_size()
- d84ab66 powerpc/qspinlock: Fix deadlock in MCS queue
- c1f2344 ALSA: hda/realtek: Support mute LED on HP Laptop 14-dq2xxx
- 421c270 ALSA: hda/realtek: add patch for internal mic in Lenovo V145
- 638e61b ALSA: hda/conexant: Add pincfg quirk to enable top speakers on Sirius devices
- 6c7c519 KVM: SVM: Don't advertise Bus Lock Detect to guest if SVM support is missing
- c98bb4f KVM: SVM: fix emulation of msr reads/writes of MSR_FS_BASE and MSR_GS_BASE
- 9393757 KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS
- 5d13afd ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object
- b0804c2 net: microchip: vcap: Fix use-after-free error in kunit test
- dde33a9 sch/netem: fix use after free in netem_dequeue
A new XanMod Linux kernel based on Linux kernel 6.6.51 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.