Re: [PATCH 007/190] Revert "media: ti-vpe: Fix a missing check and reference count leak"

Hans Verkuil
2021-04-22T08:10:58Z

On 21/04/2021 14:58, Greg Kroah-Hartman wrote:
> This reverts commit 7dae2aaaf432767ca7aa11fa84643a7c2600dbdd.
>
> Commits from @umn.edu addresses have been found to be submitted in "bad
> faith" to try to test the kernel community's ability to review "known
> malicious" changes. The result of these submissions can be found in a
> paper published at the 42nd IEEE Symposium on Security and Privacy
> entitled, "Open Source Insecurity: Stealthily Introducing
> Vulnerabilities via Hypocrite Commits" written by Qiushi Wu (University
> of Minnesota) and Kangjie Lu (University of Minnesota).
>
> Because of this, all submissions from this group must be reverted from
> the kernel tree and will need to be re-reviewed again to determine if
> they actually are a valid fix. Until that work is complete, remove this
> change to ensure that no problems are being introduced into the
> codebase.
>
> Cc: Qiushi Wu <wu000273@umn.edu>
> Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> drivers/media/platform/ti-vpe/vpe.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/media/platform/ti-vpe/vpe.c b/drivers/media/platform/ti-vpe/vpe.c
> index 10251b787674..c7a0a7c19ca6 100644
> --- a/drivers/media/platform/ti-vpe/vpe.c
> +++ b/drivers/media/platform/ti-vpe/vpe.c
> @@ -2473,8 +2473,6 @@ static int vpe_runtime_get(struct platform_device *pdev)
>
> r = pm_runtime_get_sync(&pdev->dev);
> WARN_ON(r < 0);
> - if (r)

This should have been: if (r < 0)

I missed that as a reviewer, and I don't think it was intentional either
since I couldn't find any clear documentation in pm_runtime_get_sync()
that it can return 0 or 1 as success. After going through a few wrapper
functions you end up in rpm_resume() in drivers/base/power/runtime.c
which doesn't document the return code.

So keep this reverted and I'll make a new patch for this later.

I've CC-ed Rafael and Pavel: it would be really nice if someone can
document the return code from rpm_resume() in drivers/base/power/runtime.c.

I just discovered that it is documented in Documentation/power/runtime_pm.rst,
but if you just look at the code then you'll miss this.

Regards,

Hans

> - pm_runtime_put_noidle(&pdev->dev);
> return r < 0 ? r : 0;
> }
>
>