2026-05-06 11:32CVE-2025-71293Linux
PUBLISHED5.2

drm/amdgpu/ras: Move ras data alloc before bad page check

In the Linux kernel, the following vulnerability has been resolved:

drm/amdgpu/ras: Move ras data alloc before bad page check

In the rare event if eeprom has only invalid address entries,

allocation is skipped, this causes following NULL pointer issue

[ 547.103445] BUG: kernel NULL pointer dereference, address: 0000000000000010

[ 547.118897] #PF: supervisor read access in kernel mode

[ 547.130292] #PF: error_code(0x0000) - not-present page

[ 547.141689] PGD 124757067 P4D 0

[ 547.148842] Oops: 0000 [#1] PREEMPT SMP NOPTI

[ 547.158504] CPU: 49 PID: 8167 Comm: cat Tainted: G OE 6.8.0-38-generic #38-Ubuntu

[ 547.177998] Hardware name: Supermicro AS -8126GS-TNMR/H14DSG-OD, BIOS 1.7 09/12/2025

[ 547.195178] RIP: 0010:amdgpu_ras_sysfs_badpages_read+0x2f2/0x5d0 [amdgpu]

[ 547.210375] Code: e8 63 78 82 c0 45 31 d2 45 3b 75 08 48 8b 45 a0 73 44 44 89 f1 48 8b 7d 88 48 89 ca 48 c1 e2 05 48 29 ca 49 8b 4d 00 48 01 d1 <48> 83 79 10 00 74 17 49 63 f2 48 8b 49 08 41 83 c2 01 48 8d 34 76

[ 547.252045] RSP: 0018:ffa0000067287ac0 EFLAGS: 00010246

[ 547.263636] RAX: ff11000167c28130 RBX: ff11000127600000 RCX: 0000000000000000

[ 547.279467] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ff11000125b1c800

[ 547.295298] RBP: ffa0000067287b50 R08: 0000000000000000 R09: 0000000000000000

[ 547.311129] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000

[ 547.326959] R13: ff11000217b1de00 R14: 0000000000000000 R15: 0000000000000092

[ 547.342790] FS: 0000746e59d14740(0000) GS:ff11017dfda80000(0000) knlGS:0000000000000000

[ 547.360744] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033

[ 547.373489] CR2: 0000000000000010 CR3: 000000019585e001 CR4: 0000000000f71ef0

[ 547.389321] PKRU: 55555554

[ 547.395316] Call Trace:

[ 547.400737] <TASK>

[ 547.405386] ? show_regs+0x6d/0x80

[ 547.412929] ? __die+0x24/0x80

[ 547.419697] ? page_fault_oops+0x99/0x1b0

[ 547.428588] ? do_user_addr_fault+0x2ee/0x6b0

[ 547.438249] ? exc_page_fault+0x83/0x1b0

[ 547.446949] ? asm_exc_page_fault+0x27/0x30

[ 547.456225] ? amdgpu_ras_sysfs_badpages_read+0x2f2/0x5d0 [amdgpu]

[ 547.470040] ? mas_wr_modify+0xcd/0x140

[ 547.478548] sysfs_kf_bin_read+0x63/0xb0

[ 547.487248] kernfs_file_read_iter+0xa1/0x190

[ 547.496909] kernfs_fop_read_iter+0x25/0x40

[ 547.506182] vfs_read+0x255/0x390

This also result in space left assigned to negative values.

Moving data alloc call before bad page check resolves both the issue.

Affected products

Linux

Linux

< 0b7f78caeffa51a1afa521c284e863ec3b5a36df - AFFECTED

< 5c685235b60459381e959109b416a63db4d8dbac - AFFECTED

< bd68a1404b6fa2e7e9957b38ba22616faba43e75 - AFFECTED

Linux

6.18 - AFFECTED

< 6.18 - UNAFFECTED

<= 6.18.* - UNAFFECTED

<= 6.19.* - UNAFFECTED

<= * - UNAFFECTED

References

GitHub Security Advisories

GHSA-4x9q-vprp-3qvr

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu/ras: Move ras...

https://github.com/advisories/GHSA-4x9q-vprp-3qvr

In the Linux kernel, the following vulnerability has been resolved:

drm/amdgpu/ras: Move ras data alloc before bad page check

In the rare event if eeprom has only invalid address entries, allocation is skipped, this causes following NULL pointer issue [ 547.103445] BUG: kernel NULL pointer dereference, address: 0000000000000010 [ 547.118897] #PF: supervisor read access in kernel mode [ 547.130292] #PF: error_code(0x0000) - not-present page [ 547.141689] PGD 124757067 P4D 0 [ 547.148842] Oops: 0000 [#1] PREEMPT SMP NOPTI [ 547.158504] CPU: 49 PID: 8167 Comm: cat Tainted: G OE 6.8.0-38-generic #38-Ubuntu [ 547.177998] Hardware name: Supermicro AS -8126GS-TNMR/H14DSG-OD, BIOS 1.7 09/12/2025 [ 547.195178] RIP: 0010:amdgpu_ras_sysfs_badpages_read+0x2f2/0x5d0 [amdgpu] [ 547.210375] Code: e8 63 78 82 c0 45 31 d2 45 3b 75 08 48 8b 45 a0 73 44 44 89 f1 48 8b 7d 88 48 89 ca 48 c1 e2 05 48 29 ca 49 8b 4d 00 48 01 d1 <48> 83 79 10 00 74 17 49 63 f2 48 8b 49 08 41 83 c2 01 48 8d 34 76 [ 547.252045] RSP: 0018:ffa0000067287ac0 EFLAGS: 00010246 [ 547.263636] RAX: ff11000167c28130 RBX: ff11000127600000 RCX: 0000000000000000 [ 547.279467] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ff11000125b1c800 [ 547.295298] RBP: ffa0000067287b50 R08: 0000000000000000 R09: 0000000000000000 [ 547.311129] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 [ 547.326959] R13: ff11000217b1de00 R14: 0000000000000000 R15: 0000000000000092 [ 547.342790] FS: 0000746e59d14740(0000) GS:ff11017dfda80000(0000) knlGS:0000000000000000 [ 547.360744] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 547.373489] CR2: 0000000000000010 CR3: 000000019585e001 CR4: 0000000000f71ef0 [ 547.389321] PKRU: 55555554 [ 547.395316] Call Trace: [ 547.400737] [ 547.405386] ? show_regs+0x6d/0x80 [ 547.412929] ? __die+0x24/0x80 [ 547.419697] ? page_fault_oops+0x99/0x1b0 [ 547.428588] ? do_user_addr_fault+0x2ee/0x6b0 [ 547.438249] ? exc_page_fault+0x83/0x1b0 [ 547.446949] ? asm_exc_page_fault+0x27/0x30 [ 547.456225] ? amdgpu_ras_sysfs_badpages_read+0x2f2/0x5d0 [amdgpu] [ 547.470040] ? mas_wr_modify+0xcd/0x140 [ 547.478548] sysfs_kf_bin_read+0x63/0xb0 [ 547.487248] kernfs_file_read_iter+0xa1/0x190 [ 547.496909] kernfs_fop_read_iter+0x25/0x40 [ 547.506182] vfs_read+0x255/0x390

This also result in space left assigned to negative values. Moving data alloc call before bad page check resolves both the issue.

JSON source

https://cveawg.mitre.org/api/cve/CVE-2025-71293
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2025-71293",
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "dateUpdated": "2026-05-11T21:57:23.917Z",
    "dateReserved": "2026-05-06T11:31:45.510Z",
    "datePublished": "2026-05-06T11:32:24.583Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux",
        "dateUpdated": "2026-05-11T21:57:23.917Z"
      },
      "title": "drm/amdgpu/ras: Move ras data alloc before bad page check",
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu/ras: Move ras data alloc before bad page check\n\nIn the rare event if eeprom has only invalid address entries,\nallocation is skipped, this causes following NULL pointer issue\n[  547.103445] BUG: kernel NULL pointer dereference, address: 0000000000000010\n[  547.118897] #PF: supervisor read access in kernel mode\n[  547.130292] #PF: error_code(0x0000) - not-present page\n[  547.141689] PGD 124757067 P4D 0\n[  547.148842] Oops: 0000 [#1] PREEMPT SMP NOPTI\n[  547.158504] CPU: 49 PID: 8167 Comm: cat Tainted: G           OE      6.8.0-38-generic #38-Ubuntu\n[  547.177998] Hardware name: Supermicro AS -8126GS-TNMR/H14DSG-OD, BIOS 1.7 09/12/2025\n[  547.195178] RIP: 0010:amdgpu_ras_sysfs_badpages_read+0x2f2/0x5d0 [amdgpu]\n[  547.210375] Code: e8 63 78 82 c0 45 31 d2 45 3b 75 08 48 8b 45 a0 73 44 44 89 f1 48 8b 7d 88 48 89 ca 48 c1 e2 05 48 29 ca 49 8b 4d 00 48 01 d1 <48> 83 79 10 00 74 17 49 63 f2 48 8b 49 08 41 83 c2 01 48 8d 34 76\n[  547.252045] RSP: 0018:ffa0000067287ac0 EFLAGS: 00010246\n[  547.263636] RAX: ff11000167c28130 RBX: ff11000127600000 RCX: 0000000000000000\n[  547.279467] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ff11000125b1c800\n[  547.295298] RBP: ffa0000067287b50 R08: 0000000000000000 R09: 0000000000000000\n[  547.311129] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000\n[  547.326959] R13: ff11000217b1de00 R14: 0000000000000000 R15: 0000000000000092\n[  547.342790] FS:  0000746e59d14740(0000) GS:ff11017dfda80000(0000) knlGS:0000000000000000\n[  547.360744] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[  547.373489] CR2: 0000000000000010 CR3: 000000019585e001 CR4: 0000000000f71ef0\n[  547.389321] PKRU: 55555554\n[  547.395316] Call Trace:\n[  547.400737]  <TASK>\n[  547.405386]  ? show_regs+0x6d/0x80\n[  547.412929]  ? __die+0x24/0x80\n[  547.419697]  ? page_fault_oops+0x99/0x1b0\n[  547.428588]  ? do_user_addr_fault+0x2ee/0x6b0\n[  547.438249]  ? exc_page_fault+0x83/0x1b0\n[  547.446949]  ? asm_exc_page_fault+0x27/0x30\n[  547.456225]  ? amdgpu_ras_sysfs_badpages_read+0x2f2/0x5d0 [amdgpu]\n[  547.470040]  ? mas_wr_modify+0xcd/0x140\n[  547.478548]  sysfs_kf_bin_read+0x63/0xb0\n[  547.487248]  kernfs_file_read_iter+0xa1/0x190\n[  547.496909]  kernfs_fop_read_iter+0x25/0x40\n[  547.506182]  vfs_read+0x255/0x390\n\nThis also result in space left assigned to negative values.\nMoving data alloc call before bad page check resolves both the issue."
        }
      ],
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "d45c5e6845a76169ef3d6076f0f04487e5776905",
              "status": "affected",
              "versionType": "git",
              "lessThan": "0b7f78caeffa51a1afa521c284e863ec3b5a36df"
            },
            {
              "version": "d45c5e6845a76169ef3d6076f0f04487e5776905",
              "status": "affected",
              "versionType": "git",
              "lessThan": "5c685235b60459381e959109b416a63db4d8dbac"
            },
            {
              "version": "d45c5e6845a76169ef3d6076f0f04487e5776905",
              "status": "affected",
              "versionType": "git",
              "lessThan": "bd68a1404b6fa2e7e9957b38ba22616faba43e75"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "6.18",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "6.18"
            },
            {
              "version": "6.18.16",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "version": "6.19.6",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.19.*"
            },
            {
              "version": "7.0",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/0b7f78caeffa51a1afa521c284e863ec3b5a36df"
        },
        {
          "url": "https://git.kernel.org/stable/c/5c685235b60459381e959109b416a63db4d8dbac"
        },
        {
          "url": "https://git.kernel.org/stable/c/bd68a1404b6fa2e7e9957b38ba22616faba43e75"
        }
      ]
    }
  }
}