CVE-2026-98825 affecting package kernel 6.6.157.1-1
In the Linux kernel, the following vulnerability has been resolved: rtc: mpfs: fix unchecked devm_clk_get() error pointer in probe() devm_clk_get(&pdev->dev, "rtcref")'s return value was passed straight into clk_get_rate() without checking it for an error first, unlike the "rtc" clock a few lines above which is correctly checked with IS_ERR(). clk_get_rate() only guards against a NULL clk, not an error pointer: if (!clk) return 0; ... rate = clk_core_get_rate_recalc(clk->core); so if devm_clk_get() ever returns an error pointer here (for example ERR_PTR(-EPROBE_DEFER), which is the normal, expected outcome if the clkcfg clock-provider this RTC depends on has not registered its clocks yet by the time this driver probes), clk_get_rate() dereferences that error pointer instead of returning 0, crashing instead of letting probe defer. Capture the clock in the existing 'clk' local and check it with IS_ERR() before calling clk_get_rate(), matching the handling already used for the "rtc" clock in this same function.
- Products
- kernel
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-98825
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 17:25 UTC · Revision 1
Source evidence
CVE-2026-98825 affecting package kernel 6.6.157.1-1
core-osv · Original sourcePublished 18 Oct 2026, 16:17 UTC
In the Linux kernel, the following vulnerability has been resolved: rtc: mpfs: fix unchecked devm_clk_get() error pointer in probe() devm_clk_get(&pdev->dev, "rtcref")'s return value was passed straight into clk_get_rate() without checking it for an error first, unlike the "rtc" clock a few lines above which is correctly checked with IS_ERR(). clk_get_rate() only guards against a NULL clk, not an error pointer: if (!clk) return 0; ... rate = clk_core_get_rate_recalc(clk->core); so if devm_clk_get() ever returns an error pointer here (for example ERR_PTR(-EPROBE_DEFER), which is the normal, expected outcome if the clkcfg clock-provider this RTC depends on has not registered its clocks yet by the time this driver probes), clk_get_rate() dereferences that error pointer instead of returning 0, crashing instead of letting probe defer. Capture the clock in the existing 'clk' local and check it with IS_ERR() before calling clk_get_rate(), matching the handling already used for the "rtc" clock in this same function.
osv:AZL-109254
kernel
Fixed versions: Not specified
Complete source record
{
"id": "4bfed17daba83a79be1e10d571ee85e05a2a2d88f5d44d472855d975c067104b",
"url": "https://osv.dev/vulnerability/AZL-109254",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2026-98825 affecting package kernel 6.6.157.1-1",
"summary": "In the Linux kernel, the following vulnerability has been resolved: rtc: mpfs: fix unchecked devm_clk_get() error pointer in probe() devm_clk_get(&pdev->dev, \"rtcref\")'s return value was passed straight into clk_get_rate() without checking it for an error first, unlike the \"rtc\" clock a few lines above which is correctly checked with IS_ERR(). clk_get_rate() only guards against a NULL clk, not an error pointer: if (!clk) return 0; ... rate = clk_core_get_rate_recalc(clk->core); so if devm_clk_get() ever returns an error pointer here (for example ERR_PTR(-EPROBE_DEFER), which is the normal, expected outcome if the clkcfg clock-provider this RTC depends on has not registered its clocks yet by the time this driver probes), clk_get_rate() dereferences that error pointer instead of returning 0, crashing instead of letting probe defer. Capture the clock in the existing 'clk' local and check it with IS_ERR() before calling clk_get_rate(), matching the handling already used for the \"rtc\" clock in this same function.",
"evidence": "osv:AZL-109254",
"products": [
{
"name": {
"value": "kernel",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "AZL-109254",
"aliases": [
"AZL-109254"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"last_affected": "6.6.157.1-1"
}
]
}
],
"package": {
"name": "kernel",
"purl": "pkg:rpm/azure-linux/kernel",
"ecosystem": "Azure Linux:3"
},
"database_specific": {
"source": "https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-109254.json"
}
}
],
"modified": "2026-10-27T05:36:16Z",
"provider": "osv",
"upstream": [
"CVE-2026-98825"
],
"references": [
"https://nvd.nist.gov/vuln/detail/CVE-2026-98825"
]
},
"related_cves": [
{
"value": "CVE-2026-98825",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 460450,
"published_at": "2026-10-18T16:17:36+00:00"
}