cve-2024-57921
Vulnerability from cvelistv5
Published
2025-01-19 11:52
Modified
2025-01-20 06:29
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Add a lock when accessing the buddy trim function When running YouTube videos and Steam games simultaneously, the tester found a system hang / race condition issue with the multi-display configuration setting. Adding a lock to the buddy allocator's trim function would be the solution. <log snip> [ 7197.250436] general protection fault, probably for non-canonical address 0xdead000000000108 [ 7197.250447] RIP: 0010:__alloc_range+0x8b/0x340 [amddrm_buddy] [ 7197.250470] Call Trace: [ 7197.250472] <TASK> [ 7197.250475] ? show_regs+0x6d/0x80 [ 7197.250481] ? die_addr+0x37/0xa0 [ 7197.250483] ? exc_general_protection+0x1db/0x480 [ 7197.250488] ? drm_suballoc_new+0x13c/0x93d [drm_suballoc_helper] [ 7197.250493] ? asm_exc_general_protection+0x27/0x30 [ 7197.250498] ? __alloc_range+0x8b/0x340 [amddrm_buddy] [ 7197.250501] ? __alloc_range+0x109/0x340 [amddrm_buddy] [ 7197.250506] amddrm_buddy_block_trim+0x1b5/0x260 [amddrm_buddy] [ 7197.250511] amdgpu_vram_mgr_new+0x4f5/0x590 [amdgpu] [ 7197.250682] amdttm_resource_alloc+0x46/0xb0 [amdttm] [ 7197.250689] ttm_bo_alloc_resource+0xe4/0x370 [amdttm] [ 7197.250696] amdttm_bo_validate+0x9d/0x180 [amdttm] [ 7197.250701] amdgpu_bo_pin+0x15a/0x2f0 [amdgpu] [ 7197.250831] amdgpu_dm_plane_helper_prepare_fb+0xb2/0x360 [amdgpu] [ 7197.251025] ? try_wait_for_completion+0x59/0x70 [ 7197.251030] drm_atomic_helper_prepare_planes.part.0+0x2f/0x1e0 [ 7197.251035] drm_atomic_helper_prepare_planes+0x5d/0x70 [ 7197.251037] drm_atomic_helper_commit+0x84/0x160 [ 7197.251040] drm_atomic_nonblocking_commit+0x59/0x70 [ 7197.251043] drm_mode_atomic_ioctl+0x720/0x850 [ 7197.251047] ? __pfx_drm_mode_atomic_ioctl+0x10/0x10 [ 7197.251049] drm_ioctl_kernel+0xb9/0x120 [ 7197.251053] ? srso_alias_return_thunk+0x5/0xfbef5 [ 7197.251056] drm_ioctl+0x2d4/0x550 [ 7197.251058] ? __pfx_drm_mode_atomic_ioctl+0x10/0x10 [ 7197.251063] amdgpu_drm_ioctl+0x4e/0x90 [amdgpu] [ 7197.251186] __x64_sys_ioctl+0xa0/0xf0 [ 7197.251190] x64_sys_call+0x143b/0x25c0 [ 7197.251193] do_syscall_64+0x7f/0x180 [ 7197.251197] ? srso_alias_return_thunk+0x5/0xfbef5 [ 7197.251199] ? amdgpu_display_user_framebuffer_create+0x215/0x320 [amdgpu] [ 7197.251329] ? drm_internal_framebuffer_create+0xb7/0x1a0 [ 7197.251332] ? srso_alias_return_thunk+0x5/0xfbef5 (cherry picked from commit 3318ba94e56b9183d0304577c74b33b6b01ce516)
Impacted products
Vendor Product Version
Linux Linux Version: 4a5ad08f537703c35cf7cc29845381805c891d9b
Version: 4a5ad08f537703c35cf7cc29845381805c891d9b
Create a notification for this product.
   Linux Linux Version: 6.11
Create a notification for this product.
Show details on NVD website


{
   containers: {
      cna: {
         affected: [
            {
               defaultStatus: "unaffected",
               product: "Linux",
               programFiles: [
                  "drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     lessThan: "758e3c3054b65336cf0c5f240221f63b4fb98478",
                     status: "affected",
                     version: "4a5ad08f537703c35cf7cc29845381805c891d9b",
                     versionType: "git",
                  },
                  {
                     lessThan: "75c8b703e5bded1e33b08fb09b829e7c2c1ed50a",
                     status: "affected",
                     version: "4a5ad08f537703c35cf7cc29845381805c891d9b",
                     versionType: "git",
                  },
               ],
            },
            {
               defaultStatus: "affected",
               product: "Linux",
               programFiles: [
                  "drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     status: "affected",
                     version: "6.11",
                  },
                  {
                     lessThan: "6.11",
                     status: "unaffected",
                     version: "0",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.12.*",
                     status: "unaffected",
                     version: "6.12.10",
                     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/amdgpu: Add a lock when accessing the buddy trim function\n\nWhen running YouTube videos and Steam games simultaneously,\nthe tester found a system hang / race condition issue with\nthe multi-display configuration setting. Adding a lock to\nthe buddy allocator's trim function would be the solution.\n\n<log snip>\n[ 7197.250436] general protection fault, probably for non-canonical address 0xdead000000000108\n[ 7197.250447] RIP: 0010:__alloc_range+0x8b/0x340 [amddrm_buddy]\n[ 7197.250470] Call Trace:\n[ 7197.250472]  <TASK>\n[ 7197.250475]  ? show_regs+0x6d/0x80\n[ 7197.250481]  ? die_addr+0x37/0xa0\n[ 7197.250483]  ? exc_general_protection+0x1db/0x480\n[ 7197.250488]  ? drm_suballoc_new+0x13c/0x93d [drm_suballoc_helper]\n[ 7197.250493]  ? asm_exc_general_protection+0x27/0x30\n[ 7197.250498]  ? __alloc_range+0x8b/0x340 [amddrm_buddy]\n[ 7197.250501]  ? __alloc_range+0x109/0x340 [amddrm_buddy]\n[ 7197.250506]  amddrm_buddy_block_trim+0x1b5/0x260 [amddrm_buddy]\n[ 7197.250511]  amdgpu_vram_mgr_new+0x4f5/0x590 [amdgpu]\n[ 7197.250682]  amdttm_resource_alloc+0x46/0xb0 [amdttm]\n[ 7197.250689]  ttm_bo_alloc_resource+0xe4/0x370 [amdttm]\n[ 7197.250696]  amdttm_bo_validate+0x9d/0x180 [amdttm]\n[ 7197.250701]  amdgpu_bo_pin+0x15a/0x2f0 [amdgpu]\n[ 7197.250831]  amdgpu_dm_plane_helper_prepare_fb+0xb2/0x360 [amdgpu]\n[ 7197.251025]  ? try_wait_for_completion+0x59/0x70\n[ 7197.251030]  drm_atomic_helper_prepare_planes.part.0+0x2f/0x1e0\n[ 7197.251035]  drm_atomic_helper_prepare_planes+0x5d/0x70\n[ 7197.251037]  drm_atomic_helper_commit+0x84/0x160\n[ 7197.251040]  drm_atomic_nonblocking_commit+0x59/0x70\n[ 7197.251043]  drm_mode_atomic_ioctl+0x720/0x850\n[ 7197.251047]  ? __pfx_drm_mode_atomic_ioctl+0x10/0x10\n[ 7197.251049]  drm_ioctl_kernel+0xb9/0x120\n[ 7197.251053]  ? srso_alias_return_thunk+0x5/0xfbef5\n[ 7197.251056]  drm_ioctl+0x2d4/0x550\n[ 7197.251058]  ? __pfx_drm_mode_atomic_ioctl+0x10/0x10\n[ 7197.251063]  amdgpu_drm_ioctl+0x4e/0x90 [amdgpu]\n[ 7197.251186]  __x64_sys_ioctl+0xa0/0xf0\n[ 7197.251190]  x64_sys_call+0x143b/0x25c0\n[ 7197.251193]  do_syscall_64+0x7f/0x180\n[ 7197.251197]  ? srso_alias_return_thunk+0x5/0xfbef5\n[ 7197.251199]  ? amdgpu_display_user_framebuffer_create+0x215/0x320 [amdgpu]\n[ 7197.251329]  ? drm_internal_framebuffer_create+0xb7/0x1a0\n[ 7197.251332]  ? srso_alias_return_thunk+0x5/0xfbef5\n\n(cherry picked from commit 3318ba94e56b9183d0304577c74b33b6b01ce516)",
            },
         ],
         providerMetadata: {
            dateUpdated: "2025-01-20T06:29:35.537Z",
            orgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            shortName: "Linux",
         },
         references: [
            {
               url: "https://git.kernel.org/stable/c/758e3c3054b65336cf0c5f240221f63b4fb98478",
            },
            {
               url: "https://git.kernel.org/stable/c/75c8b703e5bded1e33b08fb09b829e7c2c1ed50a",
            },
         ],
         title: "drm/amdgpu: Add a lock when accessing the buddy trim function",
         x_generator: {
            engine: "bippy-5f407fcff5a0",
         },
      },
   },
   cveMetadata: {
      assignerOrgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      assignerShortName: "Linux",
      cveId: "CVE-2024-57921",
      datePublished: "2025-01-19T11:52:40.516Z",
      dateReserved: "2025-01-19T11:50:08.375Z",
      dateUpdated: "2025-01-20T06:29:35.537Z",
      state: "PUBLISHED",
   },
   dataType: "CVE_RECORD",
   dataVersion: "5.1",
   "vulnerability-lookup:meta": {
      nvd: "{\"cve\":{\"id\":\"CVE-2024-57921\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-01-19T12:15:26.247\",\"lastModified\":\"2025-01-19T12:15:26.247\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/amdgpu: Add a lock when accessing the buddy trim function\\n\\nWhen running YouTube videos and Steam games simultaneously,\\nthe tester found a system hang / race condition issue with\\nthe multi-display configuration setting. Adding a lock to\\nthe buddy allocator's trim function would be the solution.\\n\\n<log snip>\\n[ 7197.250436] general protection fault, probably for non-canonical address 0xdead000000000108\\n[ 7197.250447] RIP: 0010:__alloc_range+0x8b/0x340 [amddrm_buddy]\\n[ 7197.250470] Call Trace:\\n[ 7197.250472]  <TASK>\\n[ 7197.250475]  ? show_regs+0x6d/0x80\\n[ 7197.250481]  ? die_addr+0x37/0xa0\\n[ 7197.250483]  ? exc_general_protection+0x1db/0x480\\n[ 7197.250488]  ? drm_suballoc_new+0x13c/0x93d [drm_suballoc_helper]\\n[ 7197.250493]  ? asm_exc_general_protection+0x27/0x30\\n[ 7197.250498]  ? __alloc_range+0x8b/0x340 [amddrm_buddy]\\n[ 7197.250501]  ? __alloc_range+0x109/0x340 [amddrm_buddy]\\n[ 7197.250506]  amddrm_buddy_block_trim+0x1b5/0x260 [amddrm_buddy]\\n[ 7197.250511]  amdgpu_vram_mgr_new+0x4f5/0x590 [amdgpu]\\n[ 7197.250682]  amdttm_resource_alloc+0x46/0xb0 [amdttm]\\n[ 7197.250689]  ttm_bo_alloc_resource+0xe4/0x370 [amdttm]\\n[ 7197.250696]  amdttm_bo_validate+0x9d/0x180 [amdttm]\\n[ 7197.250701]  amdgpu_bo_pin+0x15a/0x2f0 [amdgpu]\\n[ 7197.250831]  amdgpu_dm_plane_helper_prepare_fb+0xb2/0x360 [amdgpu]\\n[ 7197.251025]  ? try_wait_for_completion+0x59/0x70\\n[ 7197.251030]  drm_atomic_helper_prepare_planes.part.0+0x2f/0x1e0\\n[ 7197.251035]  drm_atomic_helper_prepare_planes+0x5d/0x70\\n[ 7197.251037]  drm_atomic_helper_commit+0x84/0x160\\n[ 7197.251040]  drm_atomic_nonblocking_commit+0x59/0x70\\n[ 7197.251043]  drm_mode_atomic_ioctl+0x720/0x850\\n[ 7197.251047]  ? __pfx_drm_mode_atomic_ioctl+0x10/0x10\\n[ 7197.251049]  drm_ioctl_kernel+0xb9/0x120\\n[ 7197.251053]  ? srso_alias_return_thunk+0x5/0xfbef5\\n[ 7197.251056]  drm_ioctl+0x2d4/0x550\\n[ 7197.251058]  ? __pfx_drm_mode_atomic_ioctl+0x10/0x10\\n[ 7197.251063]  amdgpu_drm_ioctl+0x4e/0x90 [amdgpu]\\n[ 7197.251186]  __x64_sys_ioctl+0xa0/0xf0\\n[ 7197.251190]  x64_sys_call+0x143b/0x25c0\\n[ 7197.251193]  do_syscall_64+0x7f/0x180\\n[ 7197.251197]  ? srso_alias_return_thunk+0x5/0xfbef5\\n[ 7197.251199]  ? amdgpu_display_user_framebuffer_create+0x215/0x320 [amdgpu]\\n[ 7197.251329]  ? drm_internal_framebuffer_create+0xb7/0x1a0\\n[ 7197.251332]  ? srso_alias_return_thunk+0x5/0xfbef5\\n\\n(cherry picked from commit 3318ba94e56b9183d0304577c74b33b6b01ce516)\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/758e3c3054b65336cf0c5f240221f63b4fb98478\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/75c8b703e5bded1e33b08fb09b829e7c2c1ed50a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
   },
}


Log in or create an account to share your comment.

Security Advisory comment format.

This schema specifies the format of a comment related to a security advisory.

UUIDv4 of the comment
UUIDv4 of the Vulnerability-Lookup instance
When the comment was created originally
When the comment was last updated
Title of the comment
Description of the comment
The identifier of the vulnerability (CVE ID, GHSA-ID, PYSEC ID, etc.).



Tags
Taxonomy of the tags.


Loading…

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.