Bug 2555228 (CVE-2026-98825) - CVE-2026-98825 kernel: rtc: mpfs: fix unchecked devm_clk_get() error pointer in probe()
Summary: CVE-2026-98825 kernel: rtc: mpfs: fix unchecked devm_clk_get() error pointer ...
Keywords:
Status: NEW
Alias: CVE-2026-98825
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-10-18 16:03 UTC by OSIDB Bzimport
Modified: 2026-10-23 20:29 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-10-18 16:03:16 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.


Note You need to log in before you can comment on or make changes to this bug.