[PATCH V2 7/9] tools/arch/x86/intel_sdsi: Fix meter_certificate decoding

David E. Box posted 9 patches 1 year, 11 months ago
There is a newer version of this series
[PATCH V2 7/9] tools/arch/x86/intel_sdsi: Fix meter_certificate decoding
Posted by David E. Box 1 year, 11 months ago
Fix errors in the calculation of the start position of the counters and in
the display loop.

Fixes: aad129780bae ("platform/x86/intel/sdsi: Add support for reading the current meter state")
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
---

V2 - Split of V1 patch 7

 tools/arch/x86/intel_sdsi/intel_sdsi.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/arch/x86/intel_sdsi/intel_sdsi.c b/tools/arch/x86/intel_sdsi/intel_sdsi.c
index def1b9a01738..2acc6be5f5d6 100644
--- a/tools/arch/x86/intel_sdsi/intel_sdsi.c
+++ b/tools/arch/x86/intel_sdsi/intel_sdsi.c
@@ -403,15 +403,16 @@ static int sdsi_meter_cert_show(struct sdsi_dev *s)
 		return -1;
 	}
 
-	bec = (void *)(mc) + sizeof(mc);
+	bec = (void *)(mc) + sizeof(*mc);
 
 	printf("Number of Feature Counters:   %d\n", mc->bundle_length / 8);
-	while (count++ < mc->bundle_length / 8) {
+	while (count < mc->bundle_length / 8) {
 		char feature[5];
 
 		feature[4] = '\0';
 		get_feature(bec[count].encoding, feature);
 		printf("    %s:          %d\n", feature, bec[count].counter);
+		++count;
 	}
 
 	return 0;
-- 
2.34.1
Re: [PATCH V2 7/9] tools/arch/x86/intel_sdsi: Fix meter_certificate decoding
Posted by Ilpo Järvinen 1 year, 11 months ago
On Tue, 27 Feb 2024, David E. Box wrote:

> Fix errors in the calculation of the start position of the counters and in
> the display loop.
> 
> Fixes: aad129780bae ("platform/x86/intel/sdsi: Add support for reading the current meter state")
> Signed-off-by: David E. Box <david.e.box@linux.intel.com>
> ---
> 
> V2 - Split of V1 patch 7
> 
>  tools/arch/x86/intel_sdsi/intel_sdsi.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/arch/x86/intel_sdsi/intel_sdsi.c b/tools/arch/x86/intel_sdsi/intel_sdsi.c
> index def1b9a01738..2acc6be5f5d6 100644
> --- a/tools/arch/x86/intel_sdsi/intel_sdsi.c
> +++ b/tools/arch/x86/intel_sdsi/intel_sdsi.c
> @@ -403,15 +403,16 @@ static int sdsi_meter_cert_show(struct sdsi_dev *s)
>  		return -1;
>  	}
>  
> -	bec = (void *)(mc) + sizeof(mc);
> +	bec = (void *)(mc) + sizeof(*mc);
>  
>  	printf("Number of Feature Counters:   %d\n", mc->bundle_length / 8);
> -	while (count++ < mc->bundle_length / 8) {
> +	while (count < mc->bundle_length / 8) {

One more sizeof() case here that wasn't pointed up earlier.


-- 
 i.
Re: [PATCH V2 7/9] tools/arch/x86/intel_sdsi: Fix meter_certificate decoding
Posted by Kuppuswamy Sathyanarayanan 1 year, 11 months ago
On 2/27/24 4:00 PM, David E. Box wrote:
> Fix errors in the calculation of the start position of the counters and in
> the display loop.
>
> Fixes: aad129780bae ("platform/x86/intel/sdsi: Add support for reading the current meter state")
> Signed-off-by: David E. Box <david.e.box@linux.intel.com>
> ---

Looks good to me.

Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>

>
> V2 - Split of V1 patch 7
>
>  tools/arch/x86/intel_sdsi/intel_sdsi.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/arch/x86/intel_sdsi/intel_sdsi.c b/tools/arch/x86/intel_sdsi/intel_sdsi.c
> index def1b9a01738..2acc6be5f5d6 100644
> --- a/tools/arch/x86/intel_sdsi/intel_sdsi.c
> +++ b/tools/arch/x86/intel_sdsi/intel_sdsi.c
> @@ -403,15 +403,16 @@ static int sdsi_meter_cert_show(struct sdsi_dev *s)
>  		return -1;
>  	}
>  
> -	bec = (void *)(mc) + sizeof(mc);
> +	bec = (void *)(mc) + sizeof(*mc);
>  
>  	printf("Number of Feature Counters:   %d\n", mc->bundle_length / 8);
> -	while (count++ < mc->bundle_length / 8) {
> +	while (count < mc->bundle_length / 8) {
>  		char feature[5];
>  
>  		feature[4] = '\0';
>  		get_feature(bec[count].encoding, feature);
>  		printf("    %s:          %d\n", feature, bec[count].counter);
> +		++count;
>  	}
>  
>  	return 0;

-- 
Sathyanarayanan Kuppuswamy
Linux Kernel Developer