Linux 6.4.8-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
Linux 6.4.8-xanmod1
- 731bac0 Linux 6.4.8-xanmod1
- 4c4f0ac XANMOD: x86/build: Add more x86 code optimization flags
- 58f5a21 XANMOD: x86/build: Prevent generating avx2 and avx512 floating-point code
- 790fd38 Merge tag 'v6.4.8' into 6.4
- 714a286 Linux 6.4.8
- 3d308a1 dma-buf: fix an error pointer vs NULL bug
- 6bd9952 dma-buf: keep the signaling time of merged fences v3
- e872d6b mm/mempolicy: Take VMA lock before replacing policy
- da84cd9 mm/memory-failure: fix hardware poison check in unpoison_memory()
- bdb3106 mm: fix memory ordering for mm_lock_seq and vm_lock_seq
- b53745b mm: lock VMA in dup_anon_vma() before setting ->anon_vma
- 58f4cbe rbd: retrieve and check lock owner twice before blocklisting
- 44f442a rbd: harden get_lock_owner_info() a bit
- 0a83f81 rbd: make get_lock_owner_info() return a single locker or NULL
- 441b3dd dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
- cf83bf0 drm/i915/dpt: Use shmem for dpt objects
- c512615 ceph: never send metrics if disable_send_metrics is set
- adce490 thermal: of: fix double-free on unregistration
- 5dac557 PM: sleep: wakeirq: fix wake irq arming
- 807ada0 arm64/sme: Set new vector length before reallocating
- 684c1a9 ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register
- c58951c mptcp: more accurate NL event generation
- 8aba7fb s390/dasd: print copy pair message only for the correct error
- 274b538 s390/dasd: fix hanging device after quiesce/resume
- 592b0c5 fs/9p: remove unnecessary invalidate_inode_pages2
- cd27c7f fs/9p: fix type mismatch in file cache mode helper
- f7fb869 fs/9p: fix typo in comparison logic for cache mode
- 00c6ee3 fs/9p: remove unnecessary and overrestrictive check
- f1e24c4 9p: fix ignored return value in v9fs_dir_release
- c9d7e61 LoongArch: BPF: Enable bpf_probe_read{, str}() on LoongArch
- 47f0ef8 LoongArch: BPF: Fix check condition to call lu32id in move_imm()
- a04cb0c LoongArch: Fix return value underflow in exception path
- 453af7c Revert "um: Use swap() to make code cleaner"
- c526569 soundwire: fix enumeration completion
- c9491c0 selftests: mptcp: join: only check for ip6tables if needed
- 176f36a iommufd: Set end correctly when doing batch carry
- 45484d9 io_uring: gate iowait schedule on having pending requests
- 29cf01e net: dsa: qca8k: fix mdb add/del case with 0 VID
- bb7b454 net: dsa: qca8k: fix broken search_and_del
- 3797de3 net: dsa: qca8k: fix search_and_insert wrong handling of new rule
- d04084d net: dsa: qca8k: enable use_single_write for qca8xxx
- c00af3a net: ipa: only reset hashed tables when supported
- 2488a91 virtio-net: fix race between set queues and probe
- c76d96c xen: speed up grant-table reclaim
- 6efc575 proc/vmcore: fix signedness bug in read_from_oldmem()
- e7b2589 locking/rtmutex: Fix task->pi_waiters integrity
- 018be61 irqchip/gic-v4.1: Properly lock VPEs when doing a directLPI invalidation
- a0c0571 irq-bcm6345-l1: Do not assume a fixed block to cpu mapping
- b077d65 tpm_tis: Explicitly check for error code
- 40c627d ACPI/IORT: Remove erroneous id_count check in iort_node_get_rmr_info()
- 0e625d2 ksmbd: check if a mount point is crossed during path lookup
- 293f39e nfsd: Remove incorrect check in nfsd4_validate_stateid
- ab81605 file: always lock position for FMODE_ATOMIC_POS
- e969540 x86/cpu: Enable STIBP on AMD if Automatic IBRS is enabled
- fdcd4b0 x86/MCE/AMD: Decrement threshold_bank refcount when removing threshold blocks
- db73d81 btrfs: check for commit error at btrfs_attach_transaction_barrier()
- ec0a56a btrfs: check if the transaction was aborted at btrfs_wait_for_commit()
- 1e80875 btrfs: account block group tree when calculating global reserve size
- 2c28c5c btrfs: zoned: do not enable async discard
- 843b4e1 hwmon: (pmbus_core) Fix Deadlock in pmbus_regulator_get_status
- 7444253 hwmon: (pmbus_core) Fix NULL pointer dereference
- db11ee9 hwmon: (pmbus_core) Fix pmbus_is_enabled()
- 76f9dee hwmon: (aquacomputer_d5next) Fix incorrect PWM value readout
- 7665493 hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled
- c6790a9 hwmon: (k10temp) Enable AMD3255 Proc to show negative temperature
- d205b15 ALSA: hda/relatek: Enable Mute LED on HP 250 G8
- a13620f ALSA: hda/realtek: Support ASUS G713PV laptop
- 6a007b1 Revert "xhci: add quirk for host controllers that don't update endpoint DCS"
- 74a8d6f tty: n_gsm: fix UAF in gsm_cleanup_mux
- b1b04b5 staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext()
- 8745554 staging: r8712: Fix memory leak in _r8712_init_xmit_priv()
- 5d73dff Documentation: security-bugs.rst: clarify CVE handling
- 90cd6f5 Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group
- 14e8e4a Revert "usb: xhci: tegra: Fix error check"
- 6068d15 usb: xhci-mtk: set the dma max_seg_size
- d88c69c usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config
- 15cea33 USB: quirks: add quirk for Focusrite Scarlett
- a4b7636 usb: ohci-at91: Fix the unhandle interrupt when resume
- ef61d54 usb: misc: ehset: fix wrong if condition
- 317d6e4 usb: dwc3: don't reset device side if dwc3 was configured as host-only
- 965b1f0 usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy
- 1590819 Revert "usb: dwc3: core: Enable AutoRetry feature in the controller"
- 816569f usb: typec: Use sysfs_emit_at when concatenating the string
- bd90eaf usb: typec: Iterate pds array when showing the pd list
- 54c6d5f usb: typec: Set port->pd before adding device for typec_port
- 41c60ab TIOCSTI: always enable for CAP_SYS_ADMIN
- f8416e8 can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED
- 5b65622 USB: serial: simple: sort driver entries
- 0e44d05 USB: serial: simple: add Kaufmann RKS+CAN VCP
- d62a293 USB: serial: option: add Quectel EC200A module support
- 56637bd USB: serial: option: support Quectel EM060K_128
- c83261b serial: sifive: Fix sifive_serial_console_setup() section
- 12a529e serial: 8250_dw: Preserve original value of DLF register
- 867bf51 tty: serial: sh-sci: Fix sleeping in atomic context
- 7ceb28c serial: qcom-geni: drop bogus runtime pm state update
- 31d7fc0 KVM: x86: Disallow KVM_SET_SREGS{2} if incoming CR0 is invalid
- 00ab402 KVM: VMX: Don't fudge CR0 and CR4 for restricted L2 guest
- fa69c35 KVM: Grab a reference to KVM for VM and vCPU stats file descriptors
- 7175cc3 usb: gadget: core: remove unbalanced mutex_unlock in usb_gadget_activate
- 9934e5d USB: gadget: Fix the memory leak in raw_gadget driver
- 9820f6e usb: gadget: call usb_gadget_check_config() to verify UDC capability
- 1099be4 Revert "usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()"
- 528c9d7 tracing: Fix warning in trace_buffered_event_disable()
- 5482000 ring-buffer: Fix wrong stat of cpu_buffer->read
- 8481fc3 ata: pata_ns87415: mark ns87560_tf_read static
- d232314 tmpfs: fix Documentation of noswap and huge mount options
- 495b327 iommufd: IOMMUFD_DESTROY should not increase the refcount
- 59679bd ublk: return -EINTR if breaking from waiting for existed users in DEL_DEV
- b3a1e24 ublk: fail to recover device if queue setup is interrupted
- 6ab3e7d ublk: fail to start device if queue setup is interrupted
- e2e4bc5 drm/msm: Disallow submit with fence id 0
- 15a2103 RDMA/irdma: Report correct WC error
- fd38ef7 RDMA/irdma: Fix op_type reporting in CQEs
- 637c2d5 drm/amd/display: Unlock on error path in dm_handle_mst_sideband_msg_ready_event()
- d3e5125 drm/amd: Fix an error handling mistake in psp_sw_init()
- 032bfd6 dm raid: protect md_stop() with 'reconfig_mutex'
- fa00410 dm raid: clean up four equivalent goto tags in raid_ctr()
- 0dc2104 dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths
- 7a72e63 xenbus: check xen_domain in xenbus_probe_initcall
- 6a2b89b drm/i915: Fix an error handling path in igt_write_huge()
- 20b4735 smb3: do not set NTLMSSP_VERSION flag for negotiate not auth request
- 312c9b8 block: Fix a source code comment in include/uapi/linux/blkzoned.h
- e4631ad ASoC: fsl_spdif: Silence output on stop
- b576cef cxl/acpi: Return 'rc' instead of '0' in cxl_parse_cfmws()
- 316db48 cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()
- e280832 drm/msm: Fix hw_fence error path cleanup
- 8ac09b9 drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
- 56f76d1 RDMA/bnxt_re: Fix hang during driver unload
- 6de5b99 RDMA/bnxt_re: add helper function __poll_for_resp
- 22dfc9d RDMA/bnxt_re: Simplify the function that sends the FW commands
- e0777f9 RDMA/bnxt_re: use shadow qd while posting non blocking rcfw command
- 4e5c101 RDMA/bnxt_re: Avoid the command wait if firmware is inactive
- 973d3fa RDMA/bnxt_re: Enhance the existing functions that wait for FW responses
- 7faa609 RDMA/bnxt_re: Prevent handling any completions after qp destroy
- d824dc7 RDMA/mthca: Fix crash when polling CQ for shared QPs
- 046e12b RDMA/core: Update CMA destination address on rdma_resolve_addr
- b8b90ba RDMA/irdma: Fix data race on CQP request done
- 2623ca9 RDMA/irdma: Fix data race on CQP completion stats
- ee38994 RDMA/irdma: Add missing read barriers
- 0370fbe drm/msm/adreno: Fix snapshot BINDLESS_DATA size
- 7ded87a drm/msm/dsi: Drop unused regulators from QCM2290 14nm DSI PHY config
- c4934d3 drm/msm/dpu: drop enum dpu_core_perf_data_bus_id
- e7b18ba drm/msm/dpu: add missing flush and fetch bits for DMA4/DMA5 planes
- cdb23d0 drm/msm/mdss: correct UBWC programming for SM8550
- acc0e77 RDMA/mlx4: Make check for invalid flags stricter
- 8b1fc5b fs/9p: Fix a datatype used with V9FS_DIRECT_IO
- fcc62b0 tipc: stop tipc crypto on failure in tipc_node_create
- 3a85a64 tipc: check return value of pskb_trim()
- 122d387 benet: fix return value check in be_lancer_xmit_workarounds()
- e57cfdb net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
- ece320c net: fec: tx processing does not call XDP APIs if budget is 0
- fcbfd96 tools: ynl-gen: fix enum index in _decode_enum(..)
- 33e9ae3 mm: suppress mm fault logging if fatal signal already pending
- 1444835 netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID
- 027d001 netfilter: nf_tables: skip immediate deactivate in _PREPARE_ERROR
- cd66733 netfilter: nft_set_rbtree: fix overlap expiration walk
- c12554d igc: Fix Kernel Panic during ndo_tx_timeout callback
- 79f4470 macvlan: add forgotten nla_policy for IFLA_MACVLAN_BC_CUTOFF
- 70539e9 x86/traps: Fix load_unaligned_zeropad() handling for shared TDX memory
- 33f73e2 platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100
- 7c83b2f net: stmmac: Apply redundant write work around on 4.xx too
- f3ff2a5 octeontx2-af: Fix hash extraction enable configuration
- 213055a team: reset team's flags when down link is P2P device
- 84d0bb1 bonding: reset bond's flags when down link is P2P device
- 5a36ae7 ice: Fix memory management in ice_ethtool_fdir.c
- 1e50c11 tcp: Reduce chance of collisions in inet6_hashfn().
- 6fe0d14 net: fec: avoid tx queue timeout when XDP is enabled
- e9f329d ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address
- e92b177 ethernet: atheros: fix return value check in atl1e_tso_csum()
- 2111337 atheros: fix return value check in atl1_tso()
- ce69eac phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()
- bc1e4f9 vxlan: fix GRO with VXLAN-GPE
- c3a497d vxlan: generalize vxlan_parse_gpe_hdr and remove unused args
- 3b0f05b vxlan: calculate correct header length for GPE
- 4bf9ced net: hns3: fix wrong bw weight of disabled tc issue
- 7a0eab9 net: hns3: fix wrong tc bandwidth weight data issue
- f89520d net: hns3: fix the imp capability bit cannot exceed 32 bits issue
- 076eb7b net: phy: marvell10g: fix 88x3310 power up
- e62e51c iavf: check for removal state before IAVF_FLAG_PF_COMMS_FAILED
- f8d8865 iavf: fix potential deadlock on allocation failure
- 0ef05b8 i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir()
- b96b963 media: mtk_jpeg_core: avoid unused-variable warning
- 46256d8 media: mtk-jpeg: move data/code inside CONFIG_OF blocks
- 1c47de3 media: amphion: Fix firmware path to match linux-firmware
- f660df7 media: staging: atomisp: select V4L2_FWNODE
- 6879992 media: tc358746: Address compiler warnings
- 73c9da3 soundwire: amd: Fix a check for errors in probe()
- f716d59 soundwire: qcom: update status correctly with mask
- 7b988cb phy: qcom-snps-femto-v2: properly enable ref clock
- fdf6f1a phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend
- 8465eba phy: mediatek: hdmi: mt8195: fix prediv bad upper limit test
- e73498b phy: phy-mtk-dp: Fix an error code in probe()
- 339fee6 ext4: fix rbtree traversal bug in ext4_mb_use_preallocated
- a0f2ba1 ext4: mballoc: Remove useless setting of ac_criteria
- d254d88 ext4: add EXT4_MB_HINT_GOAL_ONLY test in ext4_mb_use_preallocated
- a0fea63 drm/amd/display: Prevent vtotal from being set to 0
- 64bc8e1 drm/amd/display: Fix possible underflow for displays with large vblank
- 8e2fd3a drm/amd/display: update extended blank for dcn314 onwards
- 74f46ce drm/amd/display: Add FAMS validation before trying to use it
- 2401285 maple_tree: fix 32 bit mas_next testing
- 79bad53 maple_tree: add __init and __exit to test module
- c24d051 drm/ttm: never consider pinned BOs for eviction&swap
- adff2d7 drm/amd/display: Set minimum requirement for using PSR-SU on Phoenix
- f73fac7 drm/amd/display: Set minimum requirement for using PSR-SU on Rembrandt
- 452bbeb drm/amd/display: Update correct DCN314 register header
- bd0e7b7 drm/amd/display: fix dcn315 single stream crb allocation
- edac24e drm/amd/display: add pixel rate based CRB allocation support
- 45510d2 drm/amd/display: Keep disable aux-i delay as 0
- 5705367 drm/amd/display: Convert Delaying Aux-I Disable To Monitor Patch
- 776ae6b PCI: rockchip: Don't advertise MSI-X in PCIe capabilities
- 544c121 PCI: rockchip: Fix window mapping and address translation for endpoint
- 317b961 PCI: rockchip: Remove writes to unused registers
- b71a285 PCI/ASPM: Avoid link retraining race
- 874b9d8 PCI/ASPM: Factor out pcie_wait_for_retrain()
- 16caca5 PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link()
- fb0c501 i2c: nomadik: Remove a useless call in the remove function
- fc491da i2c: nomadik: Use devm_clk_get_enabled()
- b601402 i2c: nomadik: Remove unnecessary goto label
- 00f3867 i2c: Improve size determinations
- 576c5fa i2c: Delete error messages for failed memory allocations
- 50cafe0 btrfs: fix race between quota disable and relocation
- 693a761 btrfs: fix fsverify read error handling in end_page_read
- c42d836 btrfs: factor out a btrfs_verify_page helper
- 9622940 regmap: Disable locking for RBTREE and MAPLE unit tests
- d9b791d gpio: mvebu: fix irq domain leak
- 53638f7 gpio: mvebu: Make use of devm_pwmchip_add
- 3f8f160 gpio: tps68470: Make tps68470_gpio_output() always set the initial value
- 384d3da io_uring: don't audit the capability check in io_uring_create()
- aa52a65 s390/mm: fix per vma lock fault handling
- f1c7a77 KVM: s390: pv: fix index value of replaced ASCE
- b5b88c8 KVM: s390: pv: simplify shutdown and fix race
- 959dc1b powerpc/pseries/vas: Hold mmap_mutex after mmap lock during window close
- 7bbda96 blk-mq: Fix stall due to recursive flush plug
- 91450de KVM: arm64: Handle kvm_arm_init failure correctly in finalize_pkvm
- 3e5ea6b jbd2: Fix wrongly judgement for buffer head removing while doing checkpoint
- 2ecab48 r8169: revert 2ab19de ("r8169: remove ASPM restrictions now that ASPM is disabled during NAPI poll")
- 979f8de drm/amd: Align SMU11 SMU_MSG_OverridePcieParameters implementation with SMU13
- 3d7a757 drm/amd: Move helper for dynamic speed switch check out of smu13
- b94db3f platform/x86/amd/pmf: reduce verbosity of apmf_get_system_params
- 71bcf64 platform/x86/amd/pmf: Notify OS power slider update
- b18f267 Revert "XANMOD: x86/build: Add more x86_64 optimizations"
A new XanMod Linux Kernel based on the latest Linux Kernel 6.4.8 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.