lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230828170027.GV14596@pendragon.ideasonboard.com>
Date:   Mon, 28 Aug 2023 20:00:27 +0300
From:   Laurent Pinchart <laurent.pinchart@...asonboard.com>
To:     Bryan O'Donoghue <bryan.odonoghue@...aro.org>
Cc:     rfoss@...nel.org, todor.too@...il.com, agross@...nel.org,
        andersson@...nel.org, konrad.dybcio@...aro.org, mchehab@...nel.org,
        hverkuil-cisco@...all.nl, sakari.ailus@...ux.intel.com,
        andrey.konovalov@...aro.org, linux-media@...r.kernel.org,
        linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
        stable@...r.kernel.org
Subject: Re: [PATCH v2 1/9] media: qcom: camss: Fix pm_domain_on sequence in
 probe

Hi Bryan,

Thank you for the patch.

On Tue, Aug 22, 2023 at 09:06:18PM +0100, Bryan O'Donoghue wrote:
> We need to make sure camss_configure_pd() happens before
> camss_register_entities() as the vfe_get() path relies on the pointer
> provided by camss_configure_pd().
> 
> Fix the ordering sequence in probe to ensure the pointers vfe_get() demands
> are present by the time camss_register_entities() runs.
> 
> In order to facilitate backporting to stable kernels I've moved the
> configure_pd() call pretty early on the probe() function so that
> irrespective of the existence of the old error handling jump labels this
> patch should still apply to -next circa Aug 2023 to v5.13 inclusive.
> 
> Fixes: 2f6f8af67203 ("media: camss: Refactor VFE power domain toggling")
> Cc: stable@...r.kernel.org
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@...aro.org>

It seems like the device links and power domains won't be properly
cleaned up if probe fails. The problem predates this patch though, so
even if moving genpd initialization may make it worse, it's not a reason
to block this patch.

Reviewed-by: Laurent Pinchart <laurent.pinchart@...asonboard.com>

Maybe a patch further in the series will fix this :-)

> ---
>  drivers/media/platform/qcom/camss/camss.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
> index f11dc59135a5a..75991d849b571 100644
> --- a/drivers/media/platform/qcom/camss/camss.c
> +++ b/drivers/media/platform/qcom/camss/camss.c
> @@ -1619,6 +1619,12 @@ static int camss_probe(struct platform_device *pdev)
>  	if (ret < 0)
>  		goto err_cleanup;
>  
> +	ret = camss_configure_pd(camss);
> +	if (ret < 0) {
> +		dev_err(dev, "Failed to configure power domains: %d\n", ret);
> +		goto err_cleanup;
> +	}
> +
>  	ret = camss_init_subdevices(camss);
>  	if (ret < 0)
>  		goto err_cleanup;
> @@ -1678,12 +1684,6 @@ static int camss_probe(struct platform_device *pdev)
>  		}
>  	}
>  
> -	ret = camss_configure_pd(camss);
> -	if (ret < 0) {
> -		dev_err(dev, "Failed to configure power domains: %d\n", ret);
> -		return ret;
> -	}
> -
>  	pm_runtime_enable(dev);
>  
>  	return 0;

-- 
Regards,

Laurent Pinchart

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ