Lucene search

K
cvelistLinuxCVELIST:CVE-2024-26721
HistoryApr 03, 2024 - 2:55 p.m.

CVE-2024-26721 drm/i915/dsc: Fix the macro that calculates DSCC_/DSCA_ PPS reg address

2024-04-0314:55:20
Linux
www.cve.org
5
vulnerability
linux kernel
macro calculation
dsc pps
pps register
address space
rc buffer
dsc corruption

AI Score

6.6

Confidence

Low

EPSS

0

Percentile

9.0%

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

drm/i915/dsc: Fix the macro that calculates DSCC_/DSCA_ PPS reg address

Commit bd077259d0a9 (“drm/i915/vdsc: Add function to read any PPS
register”) defines a new macro to calculate the DSC PPS register
addresses with PPS number as an input. This macro correctly calculates
the addresses till PPS 11 since the addresses increment by 4. So in that
case the following macro works correctly to give correct register
address:

_MMIO(_DSCA_PPS_0 + (pps) * 4)

However after PPS 11, the register address for PPS 12 increments by 12
because of RC Buffer memory allocation in between. Because of this
discontinuity in the address space, the macro calculates wrong addresses
for PPS 12 - 16 resulting into incorrect DSC PPS parameter value
read/writes causing DSC corruption.

This fixes it by correcting this macro to add the offset of 12 for PPS
>=12.

v3: Add correct paranthesis for pps argument (Jani Nikula)

(cherry picked from commit 6074be620c31dc2ae11af96a1a5ea95580976fb5)

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/i915/display/intel_vdsc_regs.h"
    ],
    "versions": [
      {
        "version": "bd077259d0a9",
        "lessThan": "ff5999fb03f4",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "bd077259d0a9",
        "lessThan": "962ac2dce56b",
        "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/i915/display/intel_vdsc_regs.h"
    ],
    "versions": [
      {
        "version": "6.7",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "6.7",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.7.6",
        "lessThanOrEqual": "6.7.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.8",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

AI Score

6.6

Confidence

Low

EPSS

0

Percentile

9.0%

Related for CVELIST:CVE-2024-26721