CVE-2024-41008
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: change vm->task_info handling This patch changes the handling and lifecycle of vm->task_info object. The major changes are: - vm->task_info is a dynamically allocated ptr now, and its uasge is reference counted. - introducing two new helper funcs for task_info lifecycle management - amdgpu_vm_get_task_info: reference counts up task_info before returning this info - amdgpu_vm_put_task_info: reference counts down task_info - last put to task_info() frees task_info from the vm. This patch also does logistical changes required for existing usage of vm->task_info. V2: Do not block all the prints when task_info not found (Felix) V3: Fixed review comments from Felix - Fix wrong indentation - No debug message for -ENOMEM - Add NULL check for task_info - Do not duplicate the debug messages (ti vs no ti) - Get first reference of task_info in vm_init(), put last in vm_fini() V4: Fixed review comments from Felix - fix double reference increment in create_task_info - change amdgpu_vm_get_task_info_pasid - additional changes in amdgpu_gem.c while porting
View original CVE JSON
{
"id": "CVE-2024-41008",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2024-07-16T08:15:02.240",
"lastModified": "2026-10-30T13:17:30.410",
"vulnStatus": "Modified",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu: change vm->task_info handling\n\nThis patch changes the handling and lifecycle of vm->task_info object.\nThe major changes are:\n- vm->task_info is a dynamically allocated ptr now, and its uasge is\n reference counted.\n- introducing two new helper funcs for task_info lifecycle management\n - amdgpu_vm_get_task_info: reference counts up task_info before\n returning this info\n - amdgpu_vm_put_task_info: reference counts down task_info\n- last put to task_info() frees task_info from the vm.\n\nThis patch also does logistical changes required for existing usage\nof vm->task_info.\n\nV2: Do not block all the prints when task_info not found (Felix)\n\nV3: Fixed review comments from Felix\n - Fix wrong indentation\n - No debug message for -ENOMEM\n - Add NULL check for task_info\n - Do not duplicate the debug messages (ti vs no ti)\n - Get first reference of task_info in vm_init(), put last\n in vm_fini()\n\nV4: Fixed review comments from Felix\n - fix double reference increment in create_task_info\n - change amdgpu_vm_get_task_info_pasid\n - additional changes in amdgpu_gem.c while porting"
},
{
"lang": "es",
"value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amdgpu: cambiar el manejo de vm->task_info Este parche cambia el manejo y el ciclo de vida del objeto vm->task_info. Los cambios principales son: - vm->task_info ahora es un ptr asignado dinámicamente y su uso se cuenta por referencia. - presentamos dos nuevas funciones auxiliares para la gestión del ciclo de vida de task_info - amdgpu_vm_get_task_info: la referencia cuenta task_info antes de devolver esta información - amdgpu_vm_put_task_info: la referencia cuenta atrás task_info - la última entrada en task_info() libera task_info de la máquina virtual. Este parche también realiza cambios logísticos necesarios para el uso existente de vm->task_info. V2: No bloquear todas las impresiones cuando no se encuentra task_info (Felix) V3: Se corrigieron los comentarios de revisión de Felix - Se corrigió la sangría incorrecta - No hay mensaje de depuración para -ENOMEM - Agregar verificación NULL para task_info - No se duplican los mensajes de depuración (ti vs no ti) - Obtenga la primera referencia de task_info en vm_init(), colóquela última en vm_fini() V4: Se corrigieron los comentarios de revisión de Felix - se corrigió el incremento de doble referencia en create_task_info - se cambió amdgpu_vm_get_task_info_pasid - cambios adicionales en amdgpu_gem.c durante la portabilidad"
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_job.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h",
"drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c",
"drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c",
"drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c",
"drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c",
"drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c",
"drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c",
"drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c",
"drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "aa22d6c58505d239814b5ef8fa7da4ce43e9212b",
"versionType": "git",
"status": "affected"
},
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "251840f22eff35c25de531a3fcb523df94c128c0",
"versionType": "git",
"status": "affected"
},
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "b8f67b9ddf4f8fe6dd536590712b5912ad78f99c",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_job.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c",
"drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h",
"drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c",
"drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c",
"drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c",
"drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c",
"drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c",
"drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c",
"drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c",
"drivers/gpu/drm/amd/amdkfd/kfd_smi_events.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "4.2",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.2",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.9",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.8,
"impactScore": 5.9
},
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.8,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2024-09-10T17:00:49.381223Z",
"id": "CVE-2024-41008",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Primary",
"description": [
{
"lang": "en",
"value": "NVD-CWE-noinfo"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.2",
"versionEndExcluding": "6.9",
"matchCriteriaId": "E6BD4683-0AAB-43D1-B079-A0C20DE05CF6"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/251840f22eff35c25de531a3fcb523df94c128c0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/aa22d6c58505d239814b5ef8fa7da4ce43e9212b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b8f67b9ddf4f8fe6dd536590712b5912ad78f99c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
]
},
{
"url": "https://git.kernel.org/stable/c/b8f67b9ddf4f8fe6dd536590712b5912ad78f99c",
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch"
]
}
]
}