{"id":"CVE-2024-49942","summary":"drm/xe: Prevent null pointer access in xe_migrate_copy","details":"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\u003c7\u003e [317.089847] xe 0000:00:02.0: [drm:xe_migrate_copy [xe]] Pass 14,\n sizes: 4194304 & 4194304\n\u003c7\u003e [317.089945] xe 0000:00:02.0: [drm:xe_migrate_copy [xe]] Pass 15,\n sizes: 4194304 & 4194304\n\u003c1\u003e [317.128055] BUG: kernel NULL pointer dereference, address:\n 0000000000000010\n\u003c1\u003e [317.128064] #PF: supervisor read access in kernel mode\n\u003c1\u003e [317.128066] #PF: error_code(0x0000) - not-present page\n\u003c6\u003e [317.128069] PGD 0 P4D 0\n\u003c4\u003e [317.128071] Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI\n\u003c4\u003e [317.128074] CPU: 1 UID: 0 PID: 1440 Comm: kunit_try_catch Tainted:\n G     U           N 6.11.0-rc7-xe #1\n\u003c4\u003e [317.128078] Tainted: [U]=USER, [N]=TEST\n\u003c4\u003e [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\u003c4\u003e [317.128082] RIP: 0010:xe_migrate_copy+0x66/0x13e0 [xe]\n\u003c4\u003e [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 \u003c8b\u003e 79 10 48 89 85 a0 fe ff ff 48 8b 00 48 89 b5 d8 fe ff ff 83 ff\n\u003c4\u003e [317.128162] RSP: 0018:ffffc9000167f9f0 EFLAGS: 00010246\n\u003c4\u003e [317.128164] RAX: ffff8881120d8028 RBX: ffff88814d070428 RCX:\n 0000000000000000\n\u003c4\u003e [317.128166] RDX: ffff88813cb99c00 RSI: 0000000004000000 RDI:\n 0000000000000000\n\u003c4\u003e [317.128168] RBP: ffffc9000167fbb8 R08: ffff88814e7b1f08 R09:\n 0000000000000001\n\u003c4\u003e [317.128170] R10: 0000000000000001 R11: 0000000000000001 R12:\n ffff88814e7b1f08\n\u003c4\u003e [317.128172] R13: ffff88814e7b1f08 R14: ffff88813cb99c00 R15:\n 0000000000000001\n\u003c4\u003e [317.128174] FS:  0000000000000000(0000) GS:ffff88846f280000(0000)\n knlGS:0000000000000000\n\u003c4\u003e [317.128176] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n\u003c4\u003e [317.128178] CR2: 0000000000000010 CR3: 000000011f676004 CR4:\n 0000000000770ef0\n\u003c4\u003e [317.128180] DR0: 0000000000000000 DR1: 0000000000000000 DR2:\n 0000000000000000\n\u003c4\u003e [317.128182] DR3: 0000000000000000 DR6: 00000000ffff07f0 DR7:\n 0000000000000400\n\u003c4\u003e [317.128184] PKRU: 55555554\n\u003c4\u003e [317.128185] Call Trace:\n\u003c4\u003e [317.128187]  \u003cTASK\u003e\n\u003c4\u003e [317.128189]  ? show_regs+0x67/0x70\n\u003c4\u003e [317.128194]  ? __die_body+0x20/0x70\n\u003c4\u003e [317.128196]  ? __die+0x2b/0x40\n\u003c4\u003e [317.128198]  ? page_fault_oops+0x15f/0x4e0\n\u003c4\u003e [317.128203]  ? do_user_addr_fault+0x3fb/0x970\n\u003c4\u003e [317.128205]  ? lock_acquire+0xc7/0x2e0\n\u003c4\u003e [317.128209]  ? exc_page_fault+0x87/0x2b0\n\u003c4\u003e [317.128212]  ? asm_exc_page_fault+0x27/0x30\n\u003c4\u003e [317.128216]  ? xe_migrate_copy+0x66/0x13e0 [xe]\n\u003c4\u003e [317.128263]  ? __lock_acquire+0xb9d/0x26f0\n\u003c4\u003e [317.128265]  ? __lock_acquire+0xb9d/0x26f0\n\u003c4\u003e [317.128267]  ? sg_free_append_table+0x20/0x80\n\u003c4\u003e [317.128271]  ? lock_acquire+0xc7/0x2e0\n\u003c4\u003e [317.128273]  ? mark_held_locks+0x4d/0x80\n\u003c4\u003e [317.128275]  ? trace_hardirqs_on+0x1e/0xd0\n\u003c4\u003e [317.128278]  ? _raw_spin_unlock_irqrestore+0x31/0x60\n\u003c4\u003e [317.128281]  ? __pm_runtime_resume+0x60/0xa0\n\u003c4\u003e [317.128284]  xe_bo_move+0x682/0xc50 [xe]\n\u003c4\u003e [317.128315]  ? lock_is_held_type+0xaa/0x120\n\u003c4\u003e [317.128318]  ttm_bo_handle_move_mem+0xe5/0x1a0 [ttm]\n\u003c4\u003e [317.128324]  ttm_bo_validate+0xd1/0x1a0 [ttm]\n\u003c4\u003e [317.128328]  shrink_test_run_device+0x721/0xc10 [xe]\n\u003c4\u003e [317.128360]  ? find_held_lock+0x31/0x90\n\u003c4\u003e [317.128363]  ? lock_release+0xd1/0x2a0\n\u003c4\u003e [317.128365]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10\n [kunit]\n\u003c4\u003e [317.128370]  xe_bo_shrink_kunit+0x11/0x20 [xe]\n\u003c4\u003e [317.128397]  kunit_try_run_case+0x6e/0x150 [kunit]\n\u003c4\u003e [317.128400]  ? trace_hardirqs_on+0x1e/0xd0\n\u003c4\u003e [317.128402]  ? _raw_spin_unlock_irqrestore+0x31/0x60\n\u003c4\u003e [317.128404]  kunit_generic_run_threadfn_adapter+0x1e/0x40 [ku\n---truncated---","modified":"2026-03-20T12:38:11.093818Z","published":"2024-10-21T18:02:01.043Z","related":["USN-7276-1","USN-7277-1","openSUSE-SU-2024:14500-1","openSUSE-SU-2025:14705-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/49xxx/CVE-2024-49942.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/16e0267db156f8a4ea16bfb3ac3f5743c9698df3"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79"},{"type":"WEB","url":"https://git.kernel.org/stable/c/8f5199b6971f0717c2d31685953971fa2e1b9e1a"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/49xxx/CVE-2024-49942.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-49942"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"266c85885263022954928b125d46ab7a78c77a69"},{"fixed":"16e0267db156f8a4ea16bfb3ac3f5743c9698df3"},{"fixed":"8f5199b6971f0717c2d31685953971fa2e1b9e1a"},{"fixed":"7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49942.json"}}],"schema_version":"1.7.5"}