CVE-2024-57844
Vulnerability from cvelistv5
Published
2025-01-15 13:10
Modified
2025-01-20 06:28
Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
drm/xe: Fix fault on fd close after unbind
If userspace holds an fd open, unbinds the device and then closes it,
the driver shouldn't try to access the hardware. Protect it by using
drm_dev_enter()/drm_dev_exit(). This fixes the following page fault:
<6> [IGT] xe_wedged: exiting, ret=98
<1> BUG: unable to handle page fault for address: ffffc901bc5e508c
<1> #PF: supervisor read access in kernel mode
<1> #PF: error_code(0x0000) - not-present page
...
<4> xe_lrc_update_timestamp+0x1c/0xd0 [xe]
<4> xe_exec_queue_update_run_ticks+0x50/0xb0 [xe]
<4> xe_exec_queue_fini+0x16/0xb0 [xe]
<4> __guc_exec_queue_fini_async+0xc4/0x190 [xe]
<4> guc_exec_queue_fini_async+0xa0/0xe0 [xe]
<4> guc_exec_queue_fini+0x23/0x40 [xe]
<4> xe_exec_queue_destroy+0xb3/0xf0 [xe]
<4> xe_file_close+0xd4/0x1a0 [xe]
<4> drm_file_free+0x210/0x280 [drm]
<4> drm_close_helper.isra.0+0x6d/0x80 [drm]
<4> drm_release_noglobal+0x20/0x90 [drm]
(cherry picked from commit 4ca1fd418338d4d135428a0eb1e16e3b3ce17ee8)
References
Impacted products
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/gpu/drm/xe/xe_exec_queue.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "924d43bd10a1f6723ac5181a6e6cc2196ba98cdd", "status": "affected", "version": "514447a1219021298329ce586536598c3b4b2dc0", "versionType": "git" }, { "lessThan": "fe39b222a4139354d32ff9d46b88757f63f71d63", "status": "affected", "version": "514447a1219021298329ce586536598c3b4b2dc0", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "drivers/gpu/drm/xe/xe_exec_queue.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "6.12" }, { "lessThan": "6.12", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.9", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.13", "versionType": "original_commit_for_fix" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/xe: Fix fault on fd close after unbind\n\nIf userspace holds an fd open, unbinds the device and then closes it,\nthe driver shouldn\u0027t try to access the hardware. Protect it by using\ndrm_dev_enter()/drm_dev_exit(). This fixes the following page fault:\n\n\u003c6\u003e [IGT] xe_wedged: exiting, ret=98\n\u003c1\u003e BUG: unable to handle page fault for address: ffffc901bc5e508c\n\u003c1\u003e #PF: supervisor read access in kernel mode\n\u003c1\u003e #PF: error_code(0x0000) - not-present page\n...\n\u003c4\u003e xe_lrc_update_timestamp+0x1c/0xd0 [xe]\n\u003c4\u003e xe_exec_queue_update_run_ticks+0x50/0xb0 [xe]\n\u003c4\u003e xe_exec_queue_fini+0x16/0xb0 [xe]\n\u003c4\u003e __guc_exec_queue_fini_async+0xc4/0x190 [xe]\n\u003c4\u003e guc_exec_queue_fini_async+0xa0/0xe0 [xe]\n\u003c4\u003e guc_exec_queue_fini+0x23/0x40 [xe]\n\u003c4\u003e xe_exec_queue_destroy+0xb3/0xf0 [xe]\n\u003c4\u003e xe_file_close+0xd4/0x1a0 [xe]\n\u003c4\u003e drm_file_free+0x210/0x280 [drm]\n\u003c4\u003e drm_close_helper.isra.0+0x6d/0x80 [drm]\n\u003c4\u003e drm_release_noglobal+0x20/0x90 [drm]\n\n(cherry picked from commit 4ca1fd418338d4d135428a0eb1e16e3b3ce17ee8)" } ], "providerMetadata": { "dateUpdated": "2025-01-20T06:28:33.386Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/924d43bd10a1f6723ac5181a6e6cc2196ba98cdd" }, { "url": "https://git.kernel.org/stable/c/fe39b222a4139354d32ff9d46b88757f63f71d63" } ], "title": "drm/xe: Fix fault on fd close after unbind", "x_generator": { "engine": "bippy-5f407fcff5a0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2024-57844", "datePublished": "2025-01-15T13:10:27.820Z", "dateReserved": "2025-01-15T13:08:59.638Z", "dateUpdated": "2025-01-20T06:28:33.386Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2024-57844\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-01-15T13:15:12.277\",\"lastModified\":\"2025-01-15T13:15:12.277\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/xe: Fix fault on fd close after unbind\\n\\nIf userspace holds an fd open, unbinds the device and then closes it,\\nthe driver shouldn\u0027t try to access the hardware. Protect it by using\\ndrm_dev_enter()/drm_dev_exit(). This fixes the following page fault:\\n\\n\u003c6\u003e [IGT] xe_wedged: exiting, ret=98\\n\u003c1\u003e BUG: unable to handle page fault for address: ffffc901bc5e508c\\n\u003c1\u003e #PF: supervisor read access in kernel mode\\n\u003c1\u003e #PF: error_code(0x0000) - not-present page\\n...\\n\u003c4\u003e xe_lrc_update_timestamp+0x1c/0xd0 [xe]\\n\u003c4\u003e xe_exec_queue_update_run_ticks+0x50/0xb0 [xe]\\n\u003c4\u003e xe_exec_queue_fini+0x16/0xb0 [xe]\\n\u003c4\u003e __guc_exec_queue_fini_async+0xc4/0x190 [xe]\\n\u003c4\u003e guc_exec_queue_fini_async+0xa0/0xe0 [xe]\\n\u003c4\u003e guc_exec_queue_fini+0x23/0x40 [xe]\\n\u003c4\u003e xe_exec_queue_destroy+0xb3/0xf0 [xe]\\n\u003c4\u003e xe_file_close+0xd4/0x1a0 [xe]\\n\u003c4\u003e drm_file_free+0x210/0x280 [drm]\\n\u003c4\u003e drm_close_helper.isra.0+0x6d/0x80 [drm]\\n\u003c4\u003e drm_release_noglobal+0x20/0x90 [drm]\\n\\n(cherry picked from commit 4ca1fd418338d4d135428a0eb1e16e3b3ce17ee8)\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/xe: Se corrige un error en el cierre de fd despu\u00e9s de desvincular Si el espacio de usuario mantiene abierto un fd, desvincula el dispositivo y luego lo cierra, el controlador no deber\u00eda intentar acceder al hardware. Prot\u00e9jalo usando drm_dev_enter()/drm_dev_exit(). Esto corrige el siguiente error de p\u00e1gina: \u0026lt;6\u0026gt; [IGT] xe_wedged: saliendo, ret=98 \u0026lt;1\u0026gt; ERROR: no se puede manejar el error de p\u00e1gina para la direcci\u00f3n: ffffc901bc5e508c \u0026lt;1\u0026gt; #PF: acceso de lectura del supervisor en modo kernel \u0026lt;1\u0026gt; #PF: error_code(0x0000) - not-present page ... \u0026lt;4\u0026gt; xe_lrc_update_timestamp+0x1c/0xd0 [xe] \u0026lt;4\u0026gt; xe_exec_queue_update_run_ticks+0x50/0xb0 [xe] \u0026lt;4\u0026gt; xe_exec_queue_fini+0x16/0xb0 [xe] \u0026lt;4\u0026gt; __guc_exec_queue_fini_async+0xc4/0x190 [xe] \u0026lt;4\u0026gt; guc_exec_queue_fini_async+0xa0/0xe0 [xe] \u0026lt;4\u0026gt; guc_exec_queue_fini+0x23/0x40 [xe] \u0026lt;4\u0026gt; xe_exec_queue_destroy+0xb3/0xf0 [xe] \u0026lt;4\u0026gt; xe_file_close+0xd4/0x1a0 [xe] \u0026lt;4\u0026gt; drm_file_free+0x210/0x280 [drm] \u0026lt;4\u0026gt; drm_close_helper.isra.0+0x6d/0x80 [drm] \u0026lt;4\u0026gt; drm_release_noglobal+0x20/0x90 [drm] (seleccionado de la confirmaci\u00f3n 4ca1fd418338d4d135428a0eb1e16e3b3ce17ee8)\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/924d43bd10a1f6723ac5181a6e6cc2196ba98cdd\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fe39b222a4139354d32ff9d46b88757f63f71d63\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.