2023-06-14 21:17:45

by Harshit Mogalapalli

[permalink] [raw]
Subject: [PATCH next] drm/i915/huc: Fix missing error code in intel_huc_init()

Smatch warns:
drivers/gpu/drm/i915/gt/uc/intel_huc.c:388
intel_huc_init() warn: missing error code 'err'

When the allocation of VMAs fail: The value of err is zero at this
point and it is passed to PTR_ERR and also finally returning zero which
is success instead of failure.

Fix this by adding the missing error code when VMA allocation fails.

Fixes: 08872cb13a71 ("drm/i915/mtl/huc: auth HuC via GSC")
Signed-off-by: Harshit Mogalapalli <[email protected]>
---
Found using Static analysis with Smatch, only compile tested.
---
drivers/gpu/drm/i915/gt/uc/intel_huc.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_huc.c b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
index e0afd8f89502..ddd146265beb 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_huc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
@@ -384,6 +384,7 @@ int intel_huc_init(struct intel_huc *huc)

vma = intel_guc_allocate_vma(&gt->uc.guc, PXP43_HUC_AUTH_INOUT_SIZE * 2);
if (IS_ERR(vma)) {
+ err = PTR_ERR(vma);
huc_info(huc, "Failed to allocate heci pkt\n");
goto out;
}
--
2.41.0



2023-06-14 23:10:59

by Daniele Ceraolo Spurio

[permalink] [raw]
Subject: Re: [PATCH next] drm/i915/huc: Fix missing error code in intel_huc_init()



On 6/14/2023 1:41 PM, Harshit Mogalapalli wrote:
> Smatch warns:
> drivers/gpu/drm/i915/gt/uc/intel_huc.c:388
> intel_huc_init() warn: missing error code 'err'
>
> When the allocation of VMAs fail: The value of err is zero at this
> point and it is passed to PTR_ERR and also finally returning zero which
> is success instead of failure.
>
> Fix this by adding the missing error code when VMA allocation fails.
>
> Fixes: 08872cb13a71 ("drm/i915/mtl/huc: auth HuC via GSC")
> Signed-off-by: Harshit Mogalapalli <[email protected]>

Thanks for the fix.

Reviewed-by: Daniele Ceraolo Spurio <[email protected]>

It looks like the patch wasn't picked out by our CI, so I'm going to
re-send it to intel-gfx for testing and then merge it via drm-intel once
we get the results.

Daniele

> ---
> Found using Static analysis with Smatch, only compile tested.
> ---
> drivers/gpu/drm/i915/gt/uc/intel_huc.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_huc.c b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
> index e0afd8f89502..ddd146265beb 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_huc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
> @@ -384,6 +384,7 @@ int intel_huc_init(struct intel_huc *huc)
>
> vma = intel_guc_allocate_vma(&gt->uc.guc, PXP43_HUC_AUTH_INOUT_SIZE * 2);
> if (IS_ERR(vma)) {
> + err = PTR_ERR(vma);
> huc_info(huc, "Failed to allocate heci pkt\n");
> goto out;
> }