{"id":"CVE-2022-49963","title":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/i915/ttm: fix CCS handling\n\nCrucible + recent Mesa seems to sometimes hit:\n\nGEM_BUG_ON(num_ccs_blks > NUM_CCS_BLKS_PER_XFER)\n\nAnd it looks like we can also trigger …","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/i915/ttm: fix CCS handling\n\nCrucible + recent Mesa seems to sometimes hit:\n\nGEM_BUG_ON(num_ccs_blks > NUM_CCS_BLKS_PER_XFER)\n\nAnd it looks like we can also trigger …","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","vendor":"linux","product":"linux_kernel","affected":["linux_kernel >= 5.19, < 5.19.8","linux_kernel = 6.0"],"patched":["linux_kernel 5.19.8"],"published":"2025-06-18","updated":"2026-10-15","sourceUpdated":"2026-10-15T22:17:26.260","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2022-49963","references":[{"url":"https://git.kernel.org/stable/c/8d905254162965c8e6be697d82c7dbf5d08f574d","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/97434cb55bd884bd268626ec41489f79b261b2d4","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"}],"tags":["nvd","cve.org"],"epss":0.0022,"epssPercentile":0.12495,"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-15T21:29:52.414458Z"},"ingestedAt":"2026-10-15T21:45:11.285Z","slug":"CVE-2022-49963","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\ndrm/i915/ttm: fix CCS handling\n\nCrucible + recent Mesa seems to sometimes hit:\n\nGEM_BUG_ON(num_ccs_blks > NUM_CCS_BLKS_PER_XFER)\n\nAnd it looks like we can also trigger this with gem_lmem_swapping, if we\nmodify the test to use slightly larger object sizes.\n\nLooking closer it looks like we have the following issues in\nmigrate_copy():\n\n  - We are using plain integer in various places, which we can easily\n    overflow with a large object.\n\n  - We pass the entire object size (when the src is lmem) into\n    emit_pte() and then try to copy it, which doesn't work, since we\n    only have a few fixed sized windows in which to map the pages and\n    perform the copy. With an object > 8M we therefore aren't properly\n    copying the pages. And then with an object > 64M we trigger the\n    GEM_BUG_ON(num_ccs_blks > NUM_CCS_BLKS_PER_XFER).\n\nSo it looks like our copy handling for any object > 8M (which is our\nCHUNK_SZ) is currently broken on DG2.\n\nTestcase: igt@gem_lmem_swapping\n(cherry picked from commit 8676145eb2f53a9940ff70910caf0125bd8a4bc2)\n\n## Affected\n\n- `linux_kernel >= 5.19, < 5.19.8`\n- `linux_kernel = 6.0`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `linux_kernel 5.19.8`","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}