CVE-2026-68239
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
10/08/2026
Last modified:
17/08/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
drm/ttm: Account for NULL and handle pages in ttm_pool_backup<br />
<br />
Pages in ttm_pool_backup can be NULL or backup handles<br />
(ttm_backup_page_ptr_is_handle()), neither of which can be passed to<br />
set_pages_array_wb() or freed. Add a dedicated WB pass before the<br />
dma/purge loop that walks allocations using the same i += num_pages<br />
stride, skipping NULL and handle entries, and calls set_pages_array_wb()<br />
once per contiguous run of real pages. Apply the same NULL/handle guard<br />
to the dma/purge loop.<br />
<br />
Fixes the following oops:<br />
<br />
Oops: general protection fault, kernel NULL pointer dereference 0x0: 0000 [#1] SMP NOPTI<br />
RIP: 0010:__cpa_process_fault+0xf8/0x770<br />
RSP: 0018:ffffc90000a87718 EFLAGS: 00010287<br />
RAX: 0000000000000000 RBX: ffffc90000a87868 RCX: 0000000000000000<br />
RDX: 0000000000001000 RSI: 0005088000000000 RDI: ffffffff827c5f34<br />
RBP: 0005088000000000 R08: ffffc90000a877cb R09: ffffc90000a877d0<br />
R10: 0000000000000000 R11: 000000000000001b R12: 000ffffffffff000<br />
R13: ffffc90000a87868 R14: ffffc90000a87868 R15: ffff88815b882ae0<br />
FS: 0000000000000000(0000) GS:ffff8884ec840000(0000) knlGS:0000000000000000<br />
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br />
CR2: 00007f930b844000 CR3: 000000000262e003 CR4: 0000000008f70ef0<br />
PKRU: 55555554<br />
Call Trace:<br />
<br />
__change_page_attr_set_clr+0x989/0xe90<br />
? __purge_vmap_area_lazy+0x6c/0x3a0<br />
? _vm_unmap_aliases+0x250/0x2a0<br />
set_pages_array_wb+0x7f/0x120<br />
ttm_pool_backup+0x4c9/0x5b0 [ttm]<br />
? dma_resv_wait_timeout+0x3b/0xf0<br />
ttm_tt_backup+0x32/0x60 [ttm]<br />
ttm_bo_shrink+0x66/0x110 [ttm]<br />
xe_bo_shrink_purge+0x12b/0x1b0 [xe]<br />
xe_bo_shrink+0xbb/0x270 [xe]<br />
__xe_shrinker_walk+0xf7/0x160 [xe]<br />
xe_shrinker_walk+0x9d/0xc0 [xe]<br />
xe_shrinker_scan+0x11f/0x210 [xe]<br />
do_shrink_slab+0x13b/0x270<br />
shrink_slab+0xf1/0x400<br />
shrink_node+0x352/0x8a0<br />
balance_pgdat+0x32c/0x700<br />
kswapd+0x205/0x2f0<br />
? __pfx_autoremove_wake_function+0x10/0x10<br />
? __pfx_kswapd+0x10/0x10<br />
kthread+0xd1/0x110<br />
? __pfx_kthread+0x10/0x10<br />
ret_from_fork+0x1b1/0x200<br />
? __pfx_kthread+0x10/0x10<br />
ret_from_fork_asm+0x1a/0x30<br />



