Lucene search

K
cveLinuxCVE-2024-41008
HistoryJul 16, 2024 - 8:15 a.m.

CVE-2024-41008

2024-07-1608:15:02
Linux
web.nvd.nist.gov
46
linux kernel
amgdpu
vulnerability
reference counting
dynamic allocation

AI Score

6.5

Confidence

High

EPSS

0

Percentile

9.3%

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

Affected configurations

Vulners
Node
linuxlinux_kernelRange6.06.9
VendorProductVersionCPE
linuxlinux_kernel*cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "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"
    ],
    "versions": [
      {
        "version": "1da177e4c3f4",
        "lessThan": "b8f67b9ddf4f",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "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"
    ],
    "versions": [
      {
        "version": "6.9",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

AI Score

6.5

Confidence

High

EPSS

0

Percentile

9.3%