Message ID | 20240930094456.2593136-1-ruanjinjie@huawei.com (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | pmdomain: qcom: cpr: Fix possible uninitialized value | expand |
Hi, Jinjie I have sent a patch with the same modification before: https://lore.kernel.org/linux-pm/20240926134211.45394-1-zhangzekun11@huawei.com/ Best Regards, Zekun 在 2024/9/30 17:44, Jinjie Ruan 写道: > of_property_read_u64() can fail and left "rate" uninitialized, > and the zero check in cpr_corner_init() for cpr_get_opp_hz_for_req() > can not prevent it and it will assign cdata[level - 1].freq to random > value, so init it to fix it. > > Cc: stable@vger.kernel.org # v6.12 > Fixes: 181c8148556a ("pmdomain: qcom-cpr: Use scope based of_node_put() to simplify code.") > Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> > --- > drivers/pmdomain/qcom/cpr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pmdomain/qcom/cpr.c b/drivers/pmdomain/qcom/cpr.c > index e1fca65b80be..26a60a101e42 100644 > --- a/drivers/pmdomain/qcom/cpr.c > +++ b/drivers/pmdomain/qcom/cpr.c > @@ -1052,7 +1052,7 @@ static unsigned long cpr_get_opp_hz_for_req(struct dev_pm_opp *ref, > of_parse_phandle(child_np, "required-opps", 0); > > if (child_req_np == ref_np) { > - u64 rate; > + u64 rate = 0; > > of_property_read_u64(child_np, "opp-hz", &rate); > return (unsigned long) rate;
diff --git a/drivers/pmdomain/qcom/cpr.c b/drivers/pmdomain/qcom/cpr.c index e1fca65b80be..26a60a101e42 100644 --- a/drivers/pmdomain/qcom/cpr.c +++ b/drivers/pmdomain/qcom/cpr.c @@ -1052,7 +1052,7 @@ static unsigned long cpr_get_opp_hz_for_req(struct dev_pm_opp *ref, of_parse_phandle(child_np, "required-opps", 0); if (child_req_np == ref_np) { - u64 rate; + u64 rate = 0; of_property_read_u64(child_np, "opp-hz", &rate); return (unsigned long) rate;
of_property_read_u64() can fail and left "rate" uninitialized, and the zero check in cpr_corner_init() for cpr_get_opp_hz_for_req() can not prevent it and it will assign cdata[level - 1].freq to random value, so init it to fix it. Cc: stable@vger.kernel.org # v6.12 Fixes: 181c8148556a ("pmdomain: qcom-cpr: Use scope based of_node_put() to simplify code.") Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> --- drivers/pmdomain/qcom/cpr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)