{"id":"CVE-2024-49942","state":"PUBLISHED","title":"drm/xe: Prevent null pointer access in xe_migrate_copy","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/xe: Prevent null pointer access in xe_migrate_copy\n\nxe_migrate_copy designed to copy content of TTM resources. When source\nresource is null, it will trigger a NULL pointer dereference in\nxe_migrate_copy. To avoid this situation, update lacks source flag to\ntrue for this case, the flag will trigger xe_migrate_clear rather than\nxe_migrate_copy.\n\nIssue trace:\n<7> [317.089847] xe 0000:00:02.0: [drm:xe_migrate_copy [xe]] Pass 14,\n sizes: 4194304 & 4194304\n<7> [317.089945] xe 0000:00:02.0: [drm:xe_migrate_copy [xe]] Pass 15,\n sizes: 4194304 & 4194304\n<1> [317.128055] BUG: kernel NULL pointer dereference, address:\n 0000000000000010\n<1> [317.128064] #PF: supervisor read access in kernel mode\n<1> [317.128066] #PF: error_code(0x0000) - not-present page\n<6> [317.128069] PGD 0 P4D 0\n<4> [317.128071] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI\n<4> [317.128074] CPU: 1 UID: 0 PID: 1440 Comm: kunit_try_catch Tainted:\n G     U           N 6.11.0-rc7-xe #1\n<4> [317.128078] Tainted: [U]=USER, [N]=TEST\n<4> [317.128080] Hardware name: Intel Corporation Lunar Lake Client\n Platform/LNL-M LP5 RVP1, BIOS LNLMFWI1.R00.3221.D80.2407291239 07/29/2024\n<4> [317.128082] RIP: 0010:xe_migrate_copy+0x66/0x13e0 [xe]\n<4> [317.128158] Code: 00 00 48 89 8d e0 fe ff ff 48 8b 40 10 4c 89 85 c8\n fe ff ff 44 88 8d bd fe ff ff 65 48 8b 3c 25 28 00 00 00 48 89 7d d0 31\n ff <8b> 79 10 48 89 85 a0 fe ff ff 48 8b 00 48 89 b5 d8 fe ff ff 83 ff\n<4> [317.128162] RSP: 0018:ffffc9000167f9f0 EFLAGS: 00010246\n<4> [317.128164] RAX: ffff8881120d8028 RBX: ffff88814d070428 RCX:\n 0000000000000000\n<4> [317.128166] RDX: ffff88813cb99c00 RSI: 0000000004000000 RDI:\n 0000000000000000\n<4> [317.128168] RBP: ffffc9000167fbb8 R08: ffff88814e7b1f08 R09:\n 0000000000000001\n<4> [317.128170] R10: 0000000000000001 R11: 0000000000000001 R12:\n ffff88814e7b1f08\n<4> [317.128172] R13: ffff88814e7b1f08 R14: ffff88813cb99c00 R15:\n 0000000000000001\n<4> [317.128174] FS:  0000000000000000(0000) GS:ffff88846f280000(0000)\n knlGS:0000000000000000\n<4> [317.128176] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n<4> [317.128178] CR2: 0000000000000010 CR3: 000000011f676004 CR4:\n 0000000000770ef0\n<4> [317.128180] DR0: 0000000000000000 DR1: 0000000000000000 DR2:\n 0000000000000000\n<4> [317.128182] DR3: 0000000000000000 DR6: 00000000ffff07f0 DR7:\n 0000000000000400\n<4> [317.128184] PKRU: 55555554\n<4> [317.128185] Call Trace:\n<4> [317.128187]  <TASK>\n<4> [317.128189]  ? show_regs+0x67/0x70\n<4> [317.128194]  ? __die_body+0x20/0x70\n<4> [317.128196]  ? __die+0x2b/0x40\n<4> [317.128198]  ? page_fault_oops+0x15f/0x4e0\n<4> [317.128203]  ? do_user_addr_fault+0x3fb/0x970\n<4> [317.128205]  ? lock_acquire+0xc7/0x2e0\n<4> [317.128209]  ? exc_page_fault+0x87/0x2b0\n<4> [317.128212]  ? asm_exc_page_fault+0x27/0x30\n<4> [317.128216]  ? xe_migrate_copy+0x66/0x13e0 [xe]\n<4> [317.128263]  ? __lock_acquire+0xb9d/0x26f0\n<4> [317.128265]  ? __lock_acquire+0xb9d/0x26f0\n<4> [317.128267]  ? sg_free_append_table+0x20/0x80\n<4> [317.128271]  ? lock_acquire+0xc7/0x2e0\n<4> [317.128273]  ? mark_held_locks+0x4d/0x80\n<4> [317.128275]  ? trace_hardirqs_on+0x1e/0xd0\n<4> [317.128278]  ? _raw_spin_unlock_irqrestore+0x31/0x60\n<4> [317.128281]  ? __pm_runtime_resume+0x60/0xa0\n<4> [317.128284]  xe_bo_move+0x682/0xc50 [xe]\n<4> [317.128315]  ? lock_is_held_type+0xaa/0x120\n<4> [317.128318]  ttm_bo_handle_move_mem+0xe5/0x1a0 [ttm]\n<4> [317.128324]  ttm_bo_validate+0xd1/0x1a0 [ttm]\n<4> [317.128328]  shrink_test_run_device+0x721/0xc10 [xe]\n<4> [317.128360]  ? find_held_lock+0x31/0x90\n<4> [317.128363]  ? lock_release+0xd1/0x2a0\n<4> [317.128365]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10\n [kunit]\n<4> [317.128370]  xe_bo_shrink_kunit+0x11/0x20 [xe]\n<4> [317.128397]  kunit_try_run_case+0x6e/0x150 [kunit]\n<4> [317.128400]  ? trace_hardirqs_on+0x1e/0xd0\n<4> [317.128402]  ? _raw_spin_unlock_irqrestore+0x31/0x60\n<4> [317.128404]  kunit_generic_run_threadfn_adapter+0x1e/0x40 [ku\n---truncated---","publishedAt":"2024-10-21T18:02:01.043Z","updatedAt":"2026-05-11T20:42:24.872Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"266c85885263022954928b125d46ab7a78c77a69","status":"affected","lessThan":"16e0267db156f8a4ea16bfb3ac3f5743c9698df3","versionType":"git"},{"version":"266c85885263022954928b125d46ab7a78c77a69","status":"affected","lessThan":"8f5199b6971f0717c2d31685953971fa2e1b9e1a","versionType":"git"},{"version":"266c85885263022954928b125d46ab7a78c77a69","status":"affected","lessThan":"7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/xe/xe_bo.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.8","versionType":"semver"},{"version":"6.10.14","status":"unaffected","lessThanOrEqual":"6.10.*","versionType":"semver"},{"version":"6.11.3","status":"unaffected","lessThanOrEqual":"6.11.*","versionType":"semver"},{"version":"6.12","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/xe/xe_bo.c"]}],"references":["https://git.kernel.org/stable/c/16e0267db156f8a4ea16bfb3ac3f5743c9698df3","https://git.kernel.org/stable/c/8f5199b6971f0717c2d31685953971fa2e1b9e1a","https://git.kernel.org/stable/c/7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:56.516Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/49xxx/CVE-2024-49942.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-49942","state":"PUBLISHED","datePublished":"2024-10-21T18:02:01.043Z","dateUpdated":"2026-05-11T20:42:24.872Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-10-21T12:17:06.043Z"},"containers":{"cna":{"title":"drm/xe: Prevent null pointer access in xe_migrate_copy","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/xe: Prevent null pointer access in xe_migrate_copy\n\nxe_migrate_copy designed to copy content of TTM resources. When source\nresource is null, it will trigger a NULL pointer dereference in\nxe_migrate_copy. To avoid this situation, update lacks source flag to\ntrue for this case, the flag will trigger xe_migrate_clear rather than\nxe_migrate_copy.\n\nIssue trace:\n<7> [317.089847] xe 0000:00:02.0: [drm:xe_migrate_copy [xe]] Pass 14,\n sizes: 4194304 & 4194304\n<7> [317.089945] xe 0000:00:02.0: [drm:xe_migrate_copy [xe]] Pass 15,\n sizes: 4194304 & 4194304\n<1> [317.128055] BUG: kernel NULL pointer dereference, address:\n 0000000000000010\n<1> [317.128064] #PF: supervisor read access in kernel mode\n<1> [317.128066] #PF: error_code(0x0000) - not-present page\n<6> [317.128069] PGD 0 P4D 0\n<4> [317.128071] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI\n<4> [317.128074] CPU: 1 UID: 0 PID: 1440 Comm: kunit_try_catch Tainted:\n G     U           N 6.11.0-rc7-xe #1\n<4> [317.128078] Tainted: [U]=USER, [N]=TEST\n<4> [317.128080] Hardware name: Intel Corporation Lunar Lake Client\n Platform/LNL-M LP5 RVP1, BIOS LNLMFWI1.R00.3221.D80.2407291239 07/29/2024\n<4> [317.128082] RIP: 0010:xe_migrate_copy+0x66/0x13e0 [xe]\n<4> [317.128158] Code: 00 00 48 89 8d e0 fe ff ff 48 8b 40 10 4c 89 85 c8\n fe ff ff 44 88 8d bd fe ff ff 65 48 8b 3c 25 28 00 00 00 48 89 7d d0 31\n ff <8b> 79 10 48 89 85 a0 fe ff ff 48 8b 00 48 89 b5 d8 fe ff ff 83 ff\n<4> [317.128162] RSP: 0018:ffffc9000167f9f0 EFLAGS: 00010246\n<4> [317.128164] RAX: ffff8881120d8028 RBX: ffff88814d070428 RCX:\n 0000000000000000\n<4> [317.128166] RDX: ffff88813cb99c00 RSI: 0000000004000000 RDI:\n 0000000000000000\n<4> [317.128168] RBP: ffffc9000167fbb8 R08: ffff88814e7b1f08 R09:\n 0000000000000001\n<4> [317.128170] R10: 0000000000000001 R11: 0000000000000001 R12:\n ffff88814e7b1f08\n<4> [317.128172] R13: ffff88814e7b1f08 R14: ffff88813cb99c00 R15:\n 0000000000000001\n<4> [317.128174] FS:  0000000000000000(0000) GS:ffff88846f280000(0000)\n knlGS:0000000000000000\n<4> [317.128176] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n<4> [317.128178] CR2: 0000000000000010 CR3: 000000011f676004 CR4:\n 0000000000770ef0\n<4> [317.128180] DR0: 0000000000000000 DR1: 0000000000000000 DR2:\n 0000000000000000\n<4> [317.128182] DR3: 0000000000000000 DR6: 00000000ffff07f0 DR7:\n 0000000000000400\n<4> [317.128184] PKRU: 55555554\n<4> [317.128185] Call Trace:\n<4> [317.128187]  <TASK>\n<4> [317.128189]  ? show_regs+0x67/0x70\n<4> [317.128194]  ? __die_body+0x20/0x70\n<4> [317.128196]  ? __die+0x2b/0x40\n<4> [317.128198]  ? page_fault_oops+0x15f/0x4e0\n<4> [317.128203]  ? do_user_addr_fault+0x3fb/0x970\n<4> [317.128205]  ? lock_acquire+0xc7/0x2e0\n<4> [317.128209]  ? exc_page_fault+0x87/0x2b0\n<4> [317.128212]  ? asm_exc_page_fault+0x27/0x30\n<4> [317.128216]  ? xe_migrate_copy+0x66/0x13e0 [xe]\n<4> [317.128263]  ? __lock_acquire+0xb9d/0x26f0\n<4> [317.128265]  ? __lock_acquire+0xb9d/0x26f0\n<4> [317.128267]  ? sg_free_append_table+0x20/0x80\n<4> [317.128271]  ? lock_acquire+0xc7/0x2e0\n<4> [317.128273]  ? mark_held_locks+0x4d/0x80\n<4> [317.128275]  ? trace_hardirqs_on+0x1e/0xd0\n<4> [317.128278]  ? _raw_spin_unlock_irqrestore+0x31/0x60\n<4> [317.128281]  ? __pm_runtime_resume+0x60/0xa0\n<4> [317.128284]  xe_bo_move+0x682/0xc50 [xe]\n<4> [317.128315]  ? lock_is_held_type+0xaa/0x120\n<4> [317.128318]  ttm_bo_handle_move_mem+0xe5/0x1a0 [ttm]\n<4> [317.128324]  ttm_bo_validate+0xd1/0x1a0 [ttm]\n<4> [317.128328]  shrink_test_run_device+0x721/0xc10 [xe]\n<4> [317.128360]  ? find_held_lock+0x31/0x90\n<4> [317.128363]  ? lock_release+0xd1/0x2a0\n<4> [317.128365]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10\n [kunit]\n<4> [317.128370]  xe_bo_shrink_kunit+0x11/0x20 [xe]\n<4> [317.128397]  kunit_try_run_case+0x6e/0x150 [kunit]\n<4> [317.128400]  ? trace_hardirqs_on+0x1e/0xd0\n<4> [317.128402]  ? _raw_spin_unlock_irqrestore+0x31/0x60\n<4> [317.128404]  kunit_generic_run_threadfn_adapter+0x1e/0x40 [ku\n---truncated---"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"266c85885263022954928b125d46ab7a78c77a69","status":"affected","lessThan":"16e0267db156f8a4ea16bfb3ac3f5743c9698df3","versionType":"git"},{"version":"266c85885263022954928b125d46ab7a78c77a69","status":"affected","lessThan":"8f5199b6971f0717c2d31685953971fa2e1b9e1a","versionType":"git"},{"version":"266c85885263022954928b125d46ab7a78c77a69","status":"affected","lessThan":"7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/xe/xe_bo.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.8","versionType":"semver"},{"version":"6.10.14","status":"unaffected","lessThanOrEqual":"6.10.*","versionType":"semver"},{"version":"6.11.3","status":"unaffected","lessThanOrEqual":"6.11.*","versionType":"semver"},{"version":"6.12","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/xe/xe_bo.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/16e0267db156f8a4ea16bfb3ac3f5743c9698df3"},{"url":"https://git.kernel.org/stable/c/8f5199b6971f0717c2d31685953971fa2e1b9e1a"},{"url":"https://git.kernel.org/stable/c/7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T20:42:24.872Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"6.10.14"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"6.11.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.8","versionEndExcluding":"6.12"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-49942","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-10-22T13:37:35.995773Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-10-22T13:38:50.373Z"}}]}}}