Messages in this thread | | | Date | Tue, 27 Dec 2022 17:58:31 -0800 | Subject | Re: [PATCH v2] drm/msm/dpu: Fix memory leak in msm_mdss_parse_data_bus_icc_path | From | Abhinav Kumar <> |
| |
On 12/6/2022 10:59 PM, Miaoqian Lin wrote: > of_icc_get() alloc resources for path1, we should release it when not > need anymore. Early return when IS_ERR_OR_NULL(path0) may leak path1. > Defer getting path1 to fix this. > > Fixes: b9364eed9232 ("drm/msm/dpu: Move min BW request and full BW disable back to mdss") > Signed-off-by: Miaoqian Lin <linmq006@gmail.com> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com> > --- > changes in v2: > - move getting path1 after error check for path0. > --- > drivers/gpu/drm/msm/msm_mdss.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c > index e13c5c12b775..3b8d6991b04e 100644 > --- a/drivers/gpu/drm/msm/msm_mdss.c > +++ b/drivers/gpu/drm/msm/msm_mdss.c > @@ -46,15 +46,17 @@ struct msm_mdss { > static int msm_mdss_parse_data_bus_icc_path(struct device *dev, > struct msm_mdss *msm_mdss) > { > - struct icc_path *path0 = of_icc_get(dev, "mdp0-mem"); > - struct icc_path *path1 = of_icc_get(dev, "mdp1-mem"); > + struct icc_path *path0; > + struct icc_path *path1; > > + path0 = of_icc_get(dev, "mdp0-mem"); > if (IS_ERR_OR_NULL(path0)) > return PTR_ERR_OR_ZERO(path0); > > msm_mdss->path[0] = path0; > msm_mdss->num_paths = 1; > > + path1 = of_icc_get(dev, "mdp1-mem"); > if (!IS_ERR_OR_NULL(path1)) { > msm_mdss->path[1] = path1; > msm_mdss->num_paths++;
| |