2021-03-05 03:55:53

by Jia-Ju Bai

[permalink] [raw]
Subject: [PATCH] gpu: drm: swsmu: fix error return code of smu_v11_0_set_allowed_mask()

When bitmap_empty() or feature->feature_num triggers an error,
no error return code of smu_v11_0_set_allowed_mask() is assigned.
To fix this bug, ret is assigned with -EINVAL as error return code.

Reported-by: TOTE Robot <[email protected]>
Signed-off-by: Jia-Ju Bai <[email protected]>
---
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
index 90585461a56e..82731a932308 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
@@ -747,8 +747,10 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
int ret = 0;
uint32_t feature_mask[2];

- if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64)
+ if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64) {
+ ret = -EINVAL;
goto failed;
+ }

bitmap_copy((unsigned long *)feature_mask, feature->allowed, 64);

--
2.17.1


2021-03-05 04:05:25

by Evan Quan

[permalink] [raw]
Subject: RE: [PATCH] gpu: drm: swsmu: fix error return code of smu_v11_0_set_allowed_mask()

[AMD Public Use]

Thanks. Reviewed-by: Evan Quan <[email protected]>

-----Original Message-----
From: Jia-Ju Bai <[email protected]>
Sent: Friday, March 5, 2021 11:54 AM
To: Deucher, Alexander <[email protected]>; Koenig, Christian <[email protected]>; [email protected]; [email protected]; Quan, Evan <[email protected]>; Zhang, Hawking <[email protected]>; Wang, Kevin(Yang) <[email protected]>; Gao, Likun <[email protected]>
Cc: [email protected]; [email protected]; [email protected]; Jia-Ju Bai <[email protected]>
Subject: [PATCH] gpu: drm: swsmu: fix error return code of smu_v11_0_set_allowed_mask()

When bitmap_empty() or feature->feature_num triggers an error, no error return code of smu_v11_0_set_allowed_mask() is assigned.
To fix this bug, ret is assigned with -EINVAL as error return code.

Reported-by: TOTE Robot <[email protected]>
Signed-off-by: Jia-Ju Bai <[email protected]>
---
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
index 90585461a56e..82731a932308 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
@@ -747,8 +747,10 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
int ret = 0;
uint32_t feature_mask[2];

- if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64)
+ if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64) {
+ ret = -EINVAL;
goto failed;
+ }

bitmap_copy((unsigned long *)feature_mask, feature->allowed, 64);

--
2.17.1

2021-03-08 21:18:52

by Alex Deucher

[permalink] [raw]
Subject: Re: [PATCH] gpu: drm: swsmu: fix error return code of smu_v11_0_set_allowed_mask()

Applied. Thanks!

Alex

On Thu, Mar 4, 2021 at 11:02 PM Quan, Evan <[email protected]> wrote:
>
> [AMD Public Use]
>
> Thanks. Reviewed-by: Evan Quan <[email protected]>
>
> -----Original Message-----
> From: Jia-Ju Bai <[email protected]>
> Sent: Friday, March 5, 2021 11:54 AM
> To: Deucher, Alexander <[email protected]>; Koenig, Christian <[email protected]>; [email protected]; [email protected]; Quan, Evan <[email protected]>; Zhang, Hawking <[email protected]>; Wang, Kevin(Yang) <[email protected]>; Gao, Likun <[email protected]>
> Cc: [email protected]; [email protected]; [email protected]; Jia-Ju Bai <[email protected]>
> Subject: [PATCH] gpu: drm: swsmu: fix error return code of smu_v11_0_set_allowed_mask()
>
> When bitmap_empty() or feature->feature_num triggers an error, no error return code of smu_v11_0_set_allowed_mask() is assigned.
> To fix this bug, ret is assigned with -EINVAL as error return code.
>
> Reported-by: TOTE Robot <[email protected]>
> Signed-off-by: Jia-Ju Bai <[email protected]>
> ---
> drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
> index 90585461a56e..82731a932308 100644
> --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
> +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
> @@ -747,8 +747,10 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
> int ret = 0;
> uint32_t feature_mask[2];
>
> - if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64)
> + if (bitmap_empty(feature->allowed, SMU_FEATURE_MAX) || feature->feature_num < 64) {
> + ret = -EINVAL;
> goto failed;
> + }
>
> bitmap_copy((unsigned long *)feature_mask, feature->allowed, 64);
>
> --
> 2.17.1
> _______________________________________________
> dri-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/dri-devel