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
Linux 5.15.84-xanmod1
6191e86 Linux 5.15.84-xanmod1
dab4ec1 Merge tag 'v5.15.84' into 5.15
d68f50b Linux 5.15.84
972707b net: fec: properly guard irq coalesce setup
289721f ASoC: ops: Correct bounds check for second channel on SX controls
de0866b nvme-pci: clear the prp2 field when not used
8bffa95 perf: Fix perf_pending_task() UaF
825bd2a ASoC: cs42l51: Correct PGA Volume minimum value
91582b3 net: fec: don't reset irq coalesce settings to defaults on "ip link up"
c772dab can: mcba_usb: Fix termination command argument
aa822de can: sja1000: fix size of OCR_MODE_MASK define
09e0874 pinctrl: meditatek: Startup with the IRQs disabled
172a950 libbpf: Use page size as max_entries when probing ring buffer map
cf611d7 ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx()
a74b88e ASoC: fsl_micfil: explicitly clear CHnF flags
afac1e7 ASoC: fsl_micfil: explicitly clear software reset bit
9d933af nfp: fix use-after-free in area_cache_get()
e1a4f58 vfs: fix copy_file_range() averts filesystem freeze protection
86e28ed x86/vdso: Conditionally export __vdso_sgx_enter_enclave()
fd6d668 Linux 5.15.83
f895511 io_uring: Fix a null-ptr-deref in io_tctx_exit_cb()
f435c66 io_uring: move to separate directory
d9e1e5d block: move CONFIG_BLOCK guard to top Makefile
e5c0bc4 can: esd_usb: Allow REC and TEC to return to zero
db6343a s390/qeth: fix use-after-free in hsci
a56c1ce s390/qeth: fix various format strings
a6dba31 macsec: add missing attribute validation for offload
40500f1 net: mvneta: Fix an out of bounds check
b9274db net: thunderbolt: fix memory leak in tbnet_open()
7390c70 ipv6: avoid use-after-free in ip6_fragment()
1beb475 net: plip: don't call kfree_skb/dev_kfree_skb() under spin_lock_irq()
b08412a net: phy: mxl-gpy: fix version reporting
dec5abd xen/netback: fix build warning
54d830e dpaa2-switch: Fix memory leak in dpaa2_switch_acl_entry_add() and dpaa2_switch_acl_entry_remove()
c7adcbd ethernet: aeroflex: fix potential skb leak in greth_init_rings()
d962d42 tipc: call tipc_lxc_xmit without holding node_read_lock
f3b5dda net: dsa: sja1105: fix memory leak in sja1105_setup_devlink_regions()
5dab6fa ipv4: Fix incorrect route flushing when table ID 0 is used
ac566bd ipv4: Fix incorrect route flushing when source address is deleted
af4ccae tipc: Fix potential OOB in tipc_link_proto_rcv()
b8ce0e6 net: hisilicon: Fix potential use-after-free in hix5hd2_rx()
1685417 net: mdio: fix unbalanced fwnode reference count in mdio_device_release()
6f4798a net: hisilicon: Fix potential use-after-free in hisi_femac_rx()
114e65a net: thunderx: Fix missing destroy_workqueue of nicvf_rx_mode_wq
51c0494 net: microchip: sparx5: Fix missing destroy_workqueue of mact_queue
99eec0a ip_gre: do not report erspan version on GRE interface
2891957 net: stmmac: fix "snps,axi-config" node property parsing
5cb8f1a gpio/rockchip: fix refcount leak in rockchip_gpiolib_register()
b8c2f03 nvme initialize core quirks before calling nvme_init_subsystem
908b2da NFC: nci: Bounds check struct nfc_target arrays
d841cc1 i40e: Disallow ip4 and ip6 l4_4_bytes
625a138 i40e: Fix for VF MAC address 0
5538794 i40e: Fix not setting default xps_cpus after reset
a6b3059 net: mvneta: Prevent out of bounds read in mvneta_config_rss()
e6e897d xen-netfront: Fix NULL sring after live migration
eefd895 octeontx2-pf: Fix potential memory leak in otx2_init_tc()
f88acae net: mdiobus: fix double put fwnode in the error path
cc62d76 net: mdiobus: fwnode_mdiobus_register_phy() rework error handling
ea113b5 net: encx24j600: Fix invalid logic in reading of MISTAT register
8aae746 net: encx24j600: Add parentheses to fix precedence
a110287 mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add()
e046421 selftests: rtnetlink: correct xfrm policy rule in kci_test_ipsec_offload
4fa8988 net: dsa: sja1105: Check return value
b35be17 net: dsa: hellcreek: Check return value
a4c342e net: dsa: ksz: Check return value
edf7284 Bluetooth: Fix not cleanup led when bt_init fails
3322193 Bluetooth: 6LoWPAN: add missing hci_dev_put() in get_l2cap_conn()
6c88c76 vmxnet3: use correct intrConf reference when using extended queues
5ad0d85 vmxnet3: correctly report encapsulated LRO packet
5c014eb af_unix: Get user_ns from in_skb in unix_diag_get_exact().
807a01a drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420
eb96fd3 net: broadcom: Add PTP_1588_CLOCK_OPTIONAL dependency for BCMGENET under ARCH_BCM2835
16eb678 igb: Allocate MSI-X vector when testing
34c6367 e1000e: Fix TX dispatch condition
4271515 gpio: amd8111: Fix PCI device reference count leak
d57b60e drm/bridge: ti-sn65dsi86: Fix output polarity setting bug
f8b2965 netfilter: ctnetlink: fix compilation warning after data race fixes in ct mark
246bcd0 ca8210: Fix crash by zero initializing data
80dad8d ieee802154: cc2520: Fix error return code in cc2520_hw_init()
dd9dcfb drm/vmwgfx: Fix race issue calling pin_user_pages
7b09ba9 netfilter: nft_set_pipapo: Actually validate intervals in fields after the first one
6daaa84 gpiolib: fix memory leak in gpiochip_setup_dev()
1a1075d gpiolib: check the 'ngpios' property in core gpiolib code
70c5515 gpiolib: improve coding style for local variables
3b714f2 clk: Fix pointer casting to prevent oops in devm_clk_release()
c142cba can: af_can: fix NULL pointer dereference in can_rcv_filter
104bb1f HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch V 10
f755d11 HID: core: fix shift-out-of-bounds in hid_report_raw_event
2d4b310 HID: hid-lg4ff: Add check for empty lbuf
5e8021a HID: usbhid: Add ALWAYS_POLL quirk for some mice
5e88c6f net: dsa: sja1105: avoid out of bounds access in sja1105_init_l2_policing()
1074fef drm/shmem-helper: Avoid vm_open error paths
83e3da8 drm/shmem-helper: Remove errant put in error path
249011f drm/amdgpu/sdma_v4_0: turn off SDMA ring buffer in the s2idle suspend
1e4fe9a drm/vmwgfx: Don't use screen objects when SEV is active
f655097 KVM: s390: vsie: Fix the initialization of the epoch extension (epdx) field
fe50a9b net: mana: Fix race on per-CQ variable napi work_done
a49894a Bluetooth: Fix crash when replugging CSR fake controllers
1dee2b5 Bluetooth: btusb: Add debug message for CSR controllers
3ac2973 mm/gup: fix gup_pud_range() for dax
aad8bbd memcg: fix possible use-after-free in memcg_write_event_control()
6fb8bc2 media: v4l2-dv-timings.c: fix too strict blanking sanity checks
a4c5755 Revert "ARM: dts: imx7: Fix NAND controller size-cells"
28abc11 soundwire: intel: Initialize clock stop timeout
22d800b media: videobuf2-core: take mmap_lock in vb2_get_unmapped_area()
5d0fa6f xen/netback: don't call kfree_skb() with interrupts disabled
4422241 xen/netback: do some code cleanup
0fe29bd xen/netback: Ensure protocol headers don't fall in the non-linear area
f01677b drm/bridge: anx7625: Fix edid_read break case in sp_tx_edid_read()
ee25368 cifs: fix use-after-free caused by invalid pointer hostname
dc62f05 rtc: cmos: avoid UIP when reading alarm time
48ea419 rtc: cmos: avoid UIP when writing alarm time
3f52afc rtc: mc146818-lib: extract mc146818_avoid_UIP
1a3f8c6 mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths
79ad784 mm/khugepaged: fix GUP-fast interaction by sending IPI
d15cd6d mm/khugepaged: take the right locks for page table retraction
26f084e net: usb: qmi_wwan: add u-blox 0x1342 composition
029a7f1 9p/xen: check logical size for buffer size
b398832 usb: dwc3: gadget: Disable GUSB2PHYCFG.SUSPHY for End Transfer
e70a572 fbcon: Use kzalloc() in fbcon_prepare_logo()
fd37685 regulator: twl6030: fix get status of twl6032 regulators
9f74b9a ASoC: soc-pcm: Add NULL check in BE reparenting
dae93f4 btrfs: send: avoid unaligned encoded writes when attempting to clone range
f54e1ed selftests/net: Find nettest in current directory
fccd454 ALSA: seq: Fix function prototype mismatch in snd_seq_expand_var_event
542a563 regulator: slg51000: Wait after asserting CS pin
3d1b5fd 9p/fd: Use P9_HDRSZ for header size
fe2d44e ASoC: rt711-sdca: fix the latency time of clock stop prepare state machine transitions
e945f3d ARM: dts: rockchip: disable arm_global_timer on rk3066 and rk3188
c3b818c spi: mediatek: Fix DEVAPC Violation at KO Remove
d9f0107 ASoC: wm8962: Wait for updated value of WM8962_CLOCKING1 register
7ae0262 ARM: 9266/1: mm: fix no-MMU ZERO_PAGE() implementation
d81c62e ARM: 9251/1: perf: Fix stacktraces for tracepoint events in THUMB2 kernels
66717ad fs: use acquire ordering in __fget_light()
1222e23 ARM: dts: rockchip: rk3188: fix lcdc1-rgb24 node name
996fb29 arm64: dts: rockchip: fix ir-receiver node names
752138e ARM: dts: rockchip: fix ir-receiver node names
8045971 arm: dts: rockchip: remove clock-frequency from rtc
5e9fb80 arm: dts: rockchip: fix node name for hym8563 rtc
2ed7137 arm64: dts: rockchip: keep I2S1 disabled for GPIO function on ROCK Pi 4 series
5a1122e mmc: mtk-sd: Fix missing clk_disable_unprepare in msdc_of_clock_parse()
282f52c clk: Provide new devm_clk helpers for prepared and enabled clocks
eb94a7a clk: generalize devm_clk_get() a bit
d979030 Linux 5.15.82
48642f9 proc: proc_skip_spaces() shouldn't think it is working on C strings
3eb9213 proc: avoid integer type confusion in get_proc_long
4a4073a ipc/sem: Fix dangling sem_array access in semtimedop race
53b9b12 Input: raydium_ts_i2c - fix memory leak in raydium_i2c_send()
571b6bb char: tpm: Protect tpm_pm_suspend with locks
f39891c Revert "clocksource/drivers/riscv: Events are stopped during CPU suspend"
a759057 ACPI: HMAT: Fix initiator registration for single-initiator systems
da8a794 ACPI: HMAT: remove unnecessary variable initialization
2d16161 i2c: imx: Only DMA messages with I2C_M_DMA_SAFE flag set
950a05c i2c: npcm7xx: Fix error handling in npcm_i2c_init()
db3f8da serial: stm32: Deassert Transmit Enable on ->rs485_config()
45f628f serial: stm32: Use TC interrupt to deassert GPIO RTS in RS485 mode
c60eae5 serial: stm32: Factor out GPIO RTS toggling into separate function
041f8dc ipv4: Fix route deletion when nexthop info is not specified
25174d9 ipv4: Handle attempt to delete multipath route when fib_info contains an nh reference
a0ad247 selftests: net: fix nexthop warning cleanup double ip typo
532847b selftests: net: add delete nexthop route warning test
e078355 Kconfig.debug: provide a little extra FRAME_WARN leeway when KASAN is enabled
723fa02 parisc: Increase FRAME_WARN to 2048 bytes on parisc
b951ab4 mm: migrate: fix THP's mapcount on isolation
c5eda60 mm: __isolate_lru_page_prepare() in isolate_migratepages_block()
bdb613e iommu/vt-d: Fix PCI device refcount leak in dmar_dev_scope_init()
b6eea8b iommu/vt-d: Fix PCI device refcount leak in has_external_pci()
787d81d nvme: fix SRCU protection of nvme_ns_head list
12f2372 riscv: kexec: Fixup irq controller broken in kexec crash path
ac00301 riscv: fix race when vmap stack overflow
fa7a7d1 riscv: Sync efi page table's kernel mappings before switching
d86d698 pinctrl: single: Fix potential division by zero
98b15c7 ASoC: ops: Fix bounds check for sx controls
f88a697 KVM: x86/mmu: Fix race condition in direct_page_fault
df4b177 io_uring/poll: fix poll_refs race with cancelation
4b702b7 io_uring: make poll refs more robust
1d58849 io_uring: cmpxchg for poll arm refs release
cd1981a io_uring: fix tw losing poll events
62321dc io_uring: update res mask in io_poll_check_events
417d5ea tracing: Free buffers when a used dynamic event is removed
52fc245 tracing: Fix race where histograms can be called before the event
cb2b061 tracing/osnoise: Fix duration type
615a996 drm/i915: Never return 0 if not all requests retired
01a2b25 drm/i915: Fix negative value passed as remaining time
ff1591b drm/amdgpu: enable Vangogh VCN indirect sram mode
ac2d7fa drm/amdgpu: temporarily disable broken Clang builds due to blown stack-frame
57ee7bc mmc: sdhci: Fix voltage switch delay
bb8f809 mmc: sdhci-sprd: Fix no reset data and command after voltage switch
4c7681c mmc: sdhci-esdhc-imx: correct CQHCI exit halt state check
01dbe4d mmc: core: Fix ambiguous TRIM and DISCARD arg
738946e mmc: mmc_test: Fix removal of debugfs file
635d051 net: stmmac: Set MAC's flow control register to reflect current settings
9132dcd v4l2: don't fall back to follow_pfn() if pin_user_pages_fast() fails
76ad884 pinctrl: intel: Save and restore pins in "direct IRQ" mode
41296b8 x86/bugs: Make sure MSR_SPEC_CTRL is updated properly upon resume from S3
3302141 nilfs2: fix NULL pointer dereference in nilfs_palloc_commit_free_entry()
2e44dd9 tools/vm/slabinfo-gnuplot: use "grep -E" instead of "egrep"
b60a8ad error-injection: Add prompt for function error injection
757eb00 ALSA: dice: fix regression for Lexicon I-ONIX FW810S
a1a96a6 riscv: mm: Proper page permissions after initmem free
823df36 riscv: vdso: fix section overlapping under some conditions
6e035d5 hwmon: (coretemp) fix pci device refcount leak in nv1a_ram_new()
7692700 hwmon: (coretemp) Check for null before removing sysfs attrs
9b5836b net: ethernet: renesas: ravb: Fix promiscuous mode after system resumed
0dfb9a5 sctp: fix memory leak in sctp_stream_outq_migrate()
fcb3e02 packet: do not set TP_STATUS_CSUM_VALID on CHECKSUM_COMPLETE
04b995e net: tun: Fix use-after-free in tun_detach()
43ca0ad afs: Fix fileserver probe RTT handling
543d917 net: mdiobus: fix unbalanced node reference count
dca370e net: hsr: Fix potential use-after-free
1daec08 tipc: re-fetch skb cb after tipc_msg_validate
16a64dc dsa: lan9303: Correct stat name
766086e net: wwan: iosm: fix dma_alloc_coherent incompatible pointer type
c667751 net: wwan: iosm: fix kernel test robot reported error
9c584d6 net: ethernet: nixge: fix NULL dereference
8782b32 net/9p: Fix a potential socket leak in p9_socket_open
6fc9425 net: net_netdev: Fix error handling in ntb_netdev_init_module()
3bc893e net: ethernet: ti: am65-cpsw: fix error handling in am65_cpsw_nuss_probe()
7730904 net: phy: fix null-ptr-deref while probe() failed
59b54f0 wifi: mac8021: fix possible oob access in ieee80211_get_rate_duration
dc0853f wifi: cfg80211: don't allow multi-BSSID in S1G
88a6fe3 wifi: cfg80211: fix buffer overflow in elem comparison
08fff7a aquantia: Do not purge addresses when setting the number of rings
2a7aa52 qlcnic: fix sleep-in-atomic-context bugs caused by msleep
7b734d2 can: m_can: Add check for devm_clk_get
ea8dc27 can: m_can: pci: add missing m_can_class_free_dev() in probe/remove methods
b1d2a8e can: etas_es58x: es58x_init_netdev(): free netdev when register_candev()
e53da04 can: cc770: cc770_isa_probe(): add missing free_cc770dev()
d452a71 can: sja1000_isa: sja1000_isa_probe(): add missing free_sja1000dev()
372eb55 net/mlx5e: Fix use-after-free when reverting termination table
839eeab net/mlx5: Fix uninitialized variable bug in outlen_write()
34feea3 net/mlx5: DR, Fix uninitialized var warning
3485ef2 net/mlx5: DR, Rename list field in matcher struct to list_node
9fc27d2 e100: Fix possible use after free in e100_xmit_prepare
0d9f5bd iavf: Fix error handling in iavf_init_module()
b0b2b90 iavf: remove redundant ret variable
69501d8 fm10k: Fix error handling in fm10k_init_module()
5e3657d i40e: Fix error handling in i40e_init_module()
7109e94 ixgbevf: Fix resource leak in ixgbevf_init_module()
196ea81 of: property: decrement node refcount in of_fwnode_get_reference_args()
36164db nvmem: rmem: Fix return value check in rmem_read()
e376183 bpf: Do not copy spin lock field from user in bpf_selem_alloc
45f6e81 hwmon: (ibmpex) Fix possible UAF when ibmpex_register_bmc() fails
a902513 hwmon: (i5500_temp) fix missing pci_disable_device()
eeb31b8 hwmon: (ina3221) Fix shunt sum critical calculation
9514b95 hwmon: (ltc2947) fix temperature scaling
0140e07 libbpf: Handle size overflow for ringbuf mmap
06d5790 ARM: at91: rm9200: fix usb device clock id
d074f17 scripts/faddr2line: Fix regression in name resolution on ppc64le
ee3d37d bpf, perf: Use subprog name when reporting subprog ksymbol
ec02fc0 iio: light: rpr0521: add missing Kconfig dependencies
f7419fc iio: health: afe4404: Fix oob read in afe4404[read|write]_raw
e7e76a7 iio: health: afe4403: Fix oob read in afe4403_read_raw
ebdca90 drm/amdgpu: Partially revert "drm/amdgpu: update drm_display_info correctly when the edid is read"
c365d3c drm/amdgpu: update drm_display_info correctly when the edid is read
df53464 drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code
044da1a btrfs: qgroup: fix sleep from invalid context bug in btrfs_qgroup_inherit()
da86809 btrfs: move QUOTA_ENABLED check to rescan_should_stop from btrfs_qgroup_rescan_worker
5d66ead spi: spi-imx: Fix spi_bus_clk if requested clock is higher than input clock
6b4544a btrfs: free btrfs_path before copying inodes to userspace
c7ae3be btrfs: sink iterator parameter to btrfs_ioctl_logical_to_ino
acc2f40 erofs: fix order >= MAX_ORDER warning due to crafted negative i_size
ca9f274 drm/i915/gt: Use i915_vm_put on ppgtt_create error paths
c2f2972 drm/i915: Create a dummy object for gen6 ppgtt
918002b arm64: mte: Avoid setting PG_mte_tagged if no tags cleared or restored
Homepage
Download Linux 5.15.84-xanmod1 source from GitHub
A new XanMod Linux kernel based on Linux Kernel 5.15.84 has been made available. 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.