# Linux Kernel 6.12.103 - Product: Linux Kernel (https://whatsnew.fyi/product/linux-kernel) - Vendor: Linux Kernel Organization - Date: 2026-08-09 - Version: 6.12.103 - Original notes: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.103 - Permalink: https://whatsnew.fyi/product/linux-kernel/releases/6.12.103 - Labels: longterm What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — drm/tegra: fbdev: Do not assign to struct drm_fb_helper.info - **fixed** — drm/fb-helper: Fix a locking bug in an error path - **fixed** — usb: typec: ucsi: Correct teardown ordering in ucsi_init() error path - **fixed** — can: isotp: fix timer drain order, wakeup handling and tx_gen ordering - **fixed** — can: use skb hash instead of private variable in headroom - **fixed** — rxrpc: Fix irq-disabled in local_bh_enable() - **changed** — rxrpc: Manage RTT per-call rather than per-peer - **fixed** — rxrpc: Fix the calculation and use of RTO - **changed** — rxrpc: Adjust the rxrpc_rtt_rx tracepoint - **added** — rxrpc: Generate rtt_min - **fixed** — drm/xe/pt: Reset current_op in xe_pt_update_ops_init() - **added** — drm/xe: Stub out new pagefault layer - **fixed** — drm/i915/hdcp: check streams[] bounds before overflow - **fixed** — drm/i915/hdcp: Skip inactive MST connectors when building stream list - **fixed** — drm/i915/hdcp: require monotonically increasing seq_num_v - **changed** — drm/i915/hdcp: Move to using intel_display in intel_hdcp - **fixed** — drm/xe: Hold a dma-buf reference for imported BOs - **changed** — drm/xe: Rename ___xe_bo_create_locked() - **fixed** — drm/i915/vrr: require valid min/max vfreq for VRR The 120 most recent commits in this release — the full changelog is longer: - Linux 6.12.103 - drm/tegra: fbdev: Do not assign to struct drm_fb_helper.info - drm/fb-helper: Fix a locking bug in an error path - usb: typec: ucsi: Correct teardown ordering in ucsi_init() error path - can: isotp: fix timer drain order, wakeup handling and tx_gen ordering - can: use skb hash instead of private variable in headroom - rxrpc: Fix irq-disabled in local_bh_enable() - rxrpc: Manage RTT per-call rather than per-peer - rxrpc: Fix the calculation and use of RTO - rxrpc: Adjust the rxrpc_rtt_rx tracepoint - rxrpc: Generate rtt_min - drm/xe/pt: Reset current_op in xe_pt_update_ops_init() - drm/xe: Stub out new pagefault layer - drm/i915/hdcp: check streams[] bounds before overflow - drm/i915/hdcp: Skip inactive MST connectors when building stream list - drm/i915/hdcp: require monotonically increasing seq_num_v - drm/i915/hdcp: Move to using intel_display in intel_hdcp - drm/xe: Hold a dma-buf reference for imported BOs - drm/xe: Rename ___xe_bo_create_locked() - drm/i915/vrr: require valid min/max vfreq for VRR - drm/i915/vrr: Check HAS_VRR() first in intel_vrr_is_capable() - drm/xe: Wait on external BO kernel fences in exec IOCTL - drm/exec: Remove the index parameter from drm_exec_for_each_locked_obj[_reverse] - drm/tegra: fbdev: Remove offset into framebuffer memory - drm/fb-helper: Allocate and release fb_info in single place - drm/amdgpu/gfx: fix cleaner shader IB buffer overflow - drm/amdgpu: give each kernel job a unique id - drm/sched: Store the drm client_id in drm_sched_fence - drm/amdgpu: Fix context pstate override handling - drm/amdgpu: Respect placement requirements in amdgpu_gtt_mgr functions - mm/kmemleak: fix checksum computation for per-cpu objects - kmemleak: iommu/iova: fix transient kmemleak false positive - mptcp: pm: userspace: fix use-after-free in get_local_id - mptcp: pm: use addr entry for get_local_id - mptcp: add mptcp_userspace_pm_lookup_addr helper - mptcp: pm: avoid code duplication to lookup endp - ALSA: hda: codecs: hdmi: disable keep-alive before audio format change - wifi: brcmfmac: set F2 blocksize to 256 for BCM43752 - wifi: brcmfmac: fix 43752 SDIO FWVID incorrectly labelled as Cypress (CYW) - wifi: ath6kl: fix use-after-free in aggr_reset_state() - wifi: brcmfmac: drain bus_reset work on device removal - media: uapi: rkisp: Correct name version enum - media: chips-media: wave5: Support CBP profile - media: imx219: Fix maximum frame length in lines - media: i2c: imx219: Rename VTS to FRM_LENGTH - usb: typec: ucsi: Fix race condition and ordering in port unregistration - usb: typec: ucsi: split connector lock classes - usb: gadget: f_tcm: synchronize delayed set_alt with teardown - gpio: pch: use raw_spinlock_t for the register lock - mm/slab: prevent unbounded recursion in free path with new kmalloc type - lib/alloc_tag: introduce mem_alloc_profiling_permanently_disabled() - mm/huge_memory: unlock i_mmap_rwsem before releasing after-split folios - fs/proc/task_mmu: fix PAGEMAP_SCAN written state for unpopulated ptes - mm/hugetlb: fix swap entry corruption when clearing uffd-wp at fork() - drm/xe/rtp: Ensure locking/ref counting for OA whitelists - drm/xe/oa: (De-)whitelist OA registers on OA stream open/release - drm/xe/rtp: (De-)whitelist OA registers for all hwe's for a gt - drm/xe/rtp: Toggle 'deny' bit to (de-)whitelist OA regs - drm/xe/rtp: Save OA nonpriv registers to register save/restore lists - drm/xe/rtp: Generalize whitelist_apply_to_hwe - drm/xe/rtp: Keep track of non-OA nonpriv slots - drm/xe/rtp: Maintain OA whitelists separately - drm/xe/rtp: Add RING_FORCE_TO_NONPRIV_DENY to OA whitelists - drm/xe: Apply whitelist to engine save-restore - drm/xe: Introduce xe_gt_dbg_printer() - drm/xe/rtp: Refactor OAG MMIO trigger register whitelisting - Bluetooth: ISO: fix CONNECTED -> CLOSED transition on shutdown/release - of: reserved_mem: avoid post-init UAF when alloc_reserved_mem_array() fails - _[Truncated at 4000 characters — full notes: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.103]_