[PATCH] xen: Fix implicit type conversion

Jiasheng Jiang posted 1 patch 2 years, 6 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
drivers/xen/xen-acpi-processor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] xen: Fix implicit type conversion
Posted by Jiasheng Jiang 2 years, 6 months ago
The variable 'i' is defined as UINT.
However in the for_each_possible_cpu, its value is assigned to -1.
That doesn't make sense and in the cpumask_next() it is implicitly
type conversed to INT.
It is universally accepted that the implicit type conversion is
terrible.
Also, having the good programming custom will set an example for
others.
Thus, it might be better to change the definition of 'i' from UINT
to INT.

Fixes: 3fac101 ("xen: Re-upload processor PM data to hypervisor after S3 resume (v2)")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
---
 drivers/xen/xen-acpi-processor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
index df7cab8..2551691 100644
--- a/drivers/xen/xen-acpi-processor.c
+++ b/drivers/xen/xen-acpi-processor.c
@@ -518,7 +518,7 @@ static struct syscore_ops xap_syscore_ops = {
 
 static int __init xen_acpi_processor_init(void)
 {
-	unsigned int i;
+	int i;
 	int rc;
 
 	if (!xen_initial_domain())
-- 
2.7.4


Re: [PATCH] xen: Fix implicit type conversion
Posted by Juergen Gross 2 years, 6 months ago
On 26.10.21 05:27, Jiasheng Jiang wrote:
> The variable 'i' is defined as UINT.
> However in the for_each_possible_cpu, its value is assigned to -1.
> That doesn't make sense and in the cpumask_next() it is implicitly
> type conversed to INT.
> It is universally accepted that the implicit type conversion is
> terrible.
> Also, having the good programming custom will set an example for
> others.
> Thus, it might be better to change the definition of 'i' from UINT
> to INT.
> 
> Fixes: 3fac101 ("xen: Re-upload processor PM data to hypervisor after S3 resume (v2)")
> Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
> ---
>   drivers/xen/xen-acpi-processor.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
> index df7cab8..2551691 100644
> --- a/drivers/xen/xen-acpi-processor.c
> +++ b/drivers/xen/xen-acpi-processor.c
> @@ -518,7 +518,7 @@ static struct syscore_ops xap_syscore_ops = {
>   
>   static int __init xen_acpi_processor_init(void)
>   {
> -	unsigned int i;
> +	int i;

I agree with the approach, but could you please fix all the other
similar issues in that file, please?

The same should be done in free_acpi_perf_data() and in
xen_upload_processor_pm_data().


Juergen