drm/amdkfd: Avoid integer underflow with ffs in EOP ring size calc
Severity and exploitation
KEV coverage does not rule out exploitation.
Severity
unknownCVSS measures technical severity, not the likelihood of an attack.
Known exploitation
Not listed in the checked CISA KEV catalog
Absence from CISA KEV does not rule out attacks.
Public exploit
Not established by this record
Missing evidence does not mean no public exploit exists.
Remediation
Source guidance available
Review the recorded instructions. Guidance may be a workaround rather than a fixed version.
What this means
The Linux kernel has an integer underflow vulnerability in the drm/amdkfd module. It occurs when calculating the EOP ring size using ffs, which can return 1 or 0, causing an underflow. The affected versions are Linux kernel versions prior to specific commits.
Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.Attack conditions
No attack-condition excerpt has been identified here. Review the full source description and references for authentication, network access, and configuration requirements.
Review supporting sources →Affected versions
Check the exact model, release, and any platform requirements against your installation.
Linux · Linux
Linux
4 ranges
Linux · Linux
Linux
Compare with this publisher’s ranges. This does not inspect your installation.
affected
14328aa58ce523a59996c5a82681c43ec048cc33 → before 1ab281c7ce2dc5195d337f2c16e22eba356b47f9
git versions
14328aa58ce523a59996c5a82681c43ec048cc33 → before 9e8f43579f849fba0dd1059160f50bd44a767366
git versions
14328aa58ce523a59996c5a82681c43ec048cc33 → before 82e1b8299c6da02ce02185c208d2fdf7572b5ea1
git versions
14328aa58ce523a59996c5a82681c43ec048cc33 → before c883d0a132d430ef7ebb23fd94323be94d0fbdb8
git versions
Other versions: unaffected
Linux · Linux
Linux
6 ranges
Linux · Linux
Linux
Compare with this publisher’s ranges. This does not inspect your installation.
affected
5.3
unaffected
0 → before 5.3
semver versions
6.12.117 → through 6.12.*
semver versions
6.18.61 → through 6.18.*
semver versions
7.2.8 → through 7.2.*
semver versions
7.3 → through *
original_commit_for_fix versions
Other versions: affected
What to do
Compare your installed product and version with the affected versions above. A matching product name alone does not confirm exposure.
Change this to
ffs(q->eop_ring_buffer_size / sizeof(unsigned int) / 4)
using properties of logarithms.
cve.new guidance unless attributed to a publisher. This page does not inspect your installation.
Public exploit evidence
No public exploit reference is identified in the imported evidence. This is not a claim that no exploit exists.
Original source description
Read the full publisher description
In the Linux kernel, the following vulnerability has been resolved:
drm/amdkfd: Avoid integer underflow with ffs in EOP ring size calc
The low 6 bits of cp_hqd_eop_control store the base-2 logarithm of the EOP ring size. This was calculated as
ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1
But ffs can in theory return 1 or 0, so this could underflow (although in practice the ring buffer size cannot be less than 4096).
Change this to
ffs(q->eop_ring_buffer_size / sizeof(unsigned int) / 4)
using properties of logarithms.
(cherry picked from commit 4f18c56630383c14bfc6b2d65f88f2f895d2121a)
References
4 sourcesInside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-98176View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Environment requirements
These conditions apply together as specified by the publisher. A matching product name alone does not establish exposure.
Linux · platform conditions
Any condition may hold
Vulnerable product
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*From (inclusive): 5.3
Before: 6.12.117
Vulnerable product
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*From (inclusive): 5.3
Before: 6.18.61
Vulnerable product
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*From (inclusive): 5.3
Before: 7.2.8
Vulnerable product
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*From (inclusive): 5.3
Before: 7.3
Applicability preview
[
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.3",
"versionEndExcluding": "6.12.117"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.3",
"versionEndExcluding": "6.18.61"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.3",
"versionEndExcluding": "7.2.8"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.3",
"versionEndExcluding": "7.3"
}
]
}
]
}
]Contributing organizations · 1
Assigning organization
Timeline
All times UTCAdvisory published
Publication date supplied by the source.
Source updated
Latest modification date supplied by the source.
Last imported by cve.new
Latest catalog import, not the date we first saw this advisory.
What changed
Follow changes- CVE · CVE-2026-98176
Observed 2026-11-10T18:24:55.281Z · upstream updated 2026-11-10T18:15:10.994Z
Product or version evidence changed
before
[ { "vendor": "Linux", "name": "Linux", "platforms": [], "versions": [ { "version": "14328aa58ce523a59996c5a82681c43ec048cc33", "status": "affected", "lessThan": "9e8f43579f849fba0dd1059160f50bd44a767366", "versionType": "git" }, { "version": "14328aa58ce523a59996c5a82681c43ec048cc33", "status": "affected", "lessThan": "82e1b8299c6da02ce02185c208d2fdf7572b5ea1", "versionType": "git" }, { "version": "14328aa58ce523a59996c5a82681c43ec048cc33", "status": "affected", "lessThan": "c883d0a132d430ef7ebb23fd94323be94d0fbdb8", "versionType": "git" } ], "defaultStatus": "unaffected", "cpes": [], "source": "Linux", "url": "https://www.cve.org/CVERecord?id=CVE-2026-98176" }, { "vendor": "Linux", "name": "Linux", "platforms": [], "versions": [ { "version": "5.3", "status": "affected" }, { "version": "0", "status": "unaffected", "lessThan": "5.3", "versionType": "semver" }, { "version": "6.18.61", "status": "unaffected", "lessThanOrEqual": "6.18.*", "versionType": "semver" }, { "version": "7.2.8", "status": "unaffected", "lessThanOrEqual": "7.2.*", "versionType": "semver" }, { "version": "7.3", "status": "unaffected", "lessThanOrEqual": "*", "versionType": "original_commit_for_fix" } ], "defaultStatus": "affected", "cpes": [], "source": "Linux", "url": "https://www.cve.org/CVERecord?id=CVE-2026-98176" } ]after
[ { "vendor": "Linux", "name": "Linux", "platforms": [], "versions": [ { "version": "14328aa58ce523a59996c5a82681c43ec048cc33", "status": "affected", "lessThan": "1ab281c7ce2dc5195d337f2c16e22eba356b47f9", "versionType": "git" }, { "version": "14328aa58ce523a59996c5a82681c43ec048cc33", "status": "affected", "lessThan": "9e8f43579f849fba0dd1059160f50bd44a767366", "versionType": "git" }, { "version": "14328aa58ce523a59996c5a82681c43ec048cc33", "status": "affected", "lessThan": "82e1b8299c6da02ce02185c208d2fdf7572b5ea1", "versionType": "git" }, { "version": "14328aa58ce523a59996c5a82681c43ec048cc33", "status": "affected", "lessThan": "c883d0a132d430ef7ebb23fd94323be94d0fbdb8", "versionType": "git" } ], "defaultStatus": "unaffected", "cpes": [], "source": "Linux", "url": "https://www.cve.org/CVERecord?id=CVE-2026-98176" }, { "vendor": "Linux", "name": "Linux", "platforms": [], "versions": [ { "version": "5.3", "status": "affected" }, { "version": "0", "status": "unaffected", "lessThan": "5.3", "versionType": "semver" }, { "version": "6.12.117", "status": "unaffected", "lessThanOrEqual": "6.12.*", "versionType": "semver" }, { "version": "6.18.61", "status": "unaffected", "lessThanOrEqual": "6.18.*", "versionType": "semver" }, { "version": "7.2.8", "status": "unaffected", "lessThanOrEqual": "7.2.*", "versionType": "semver" }, { "version": "7.3", "status": "unaffected", "lessThanOrEqual": "*", "versionType": "original_commit_for_fix" } ], "defaultStatus": "affected", "cpes": [], "source": "Linux", "url": "https://www.cve.org/CVERecord?id=CVE-2026-98176" } ]References changed
before
[ "https://git.kernel.org/stable/c/9e8f43579f849fba0dd1059160f50bd44a767366", "https://git.kernel.org/stable/c/82e1b8299c6da02ce02185c208d2fdf7572b5ea1", "https://git.kernel.org/stable/c/c883d0a132d430ef7ebb23fd94323be94d0fbdb8" ]
after
[ "https://git.kernel.org/stable/c/1ab281c7ce2dc5195d337f2c16e22eba356b47f9", "https://git.kernel.org/stable/c/9e8f43579f849fba0dd1059160f50bd44a767366", "https://git.kernel.org/stable/c/82e1b8299c6da02ce02185c208d2fdf7572b5ea1", "https://git.kernel.org/stable/c/c883d0a132d430ef7ebb23fd94323be94d0fbdb8" ]
Environment requirements changed
before
[ { "source": "Linux", "statements": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.3", "versionEndExcluding": "6.18.61" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.3", "versionEndExcluding": "7.2.8" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.3", "versionEndExcluding": "7.3" } ] } ] } ] } ]after
[ { "source": "Linux", "statements": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.3", "versionEndExcluding": "6.12.117" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.3", "versionEndExcluding": "6.18.61" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.3", "versionEndExcluding": "7.2.8" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.3", "versionEndExcluding": "7.3" } ] } ] } ] } ]
Large field values are marked as truncated previews. Original source snapshots remain retained.
Showing up to 50 most recent observed changes.