diff mbox series

powerpc/xive: Fix unsigned comparison with less than zero

Message ID 1620382851-67480-1-git-send-email-jiapeng.chong@linux.alibaba.com (mailing list archive)
State Superseded
Headers show
Series powerpc/xive: Fix unsigned comparison with less than zero | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch success Successfully applied on branch powerpc/merge (7619d98e5041d5c25aba5428704dba6121237a9a)
snowpatch_ozlabs/build-ppc64le success Build succeeded
snowpatch_ozlabs/build-ppc64be success Build succeeded
snowpatch_ozlabs/build-ppc64e success Build succeeded
snowpatch_ozlabs/build-pmac32 success Build succeeded
snowpatch_ozlabs/checkpatch success total: 0 errors, 0 warnings, 0 checks, 8 lines checked
snowpatch_ozlabs/needsstable success Patch has no Fixes tags

Commit Message

Jiapeng Chong May 7, 2021, 10:20 a.m. UTC
The return from the call to irq_domain_alloc_irqs() is int, it can be
a negative error code, however this is being assigned to an unsigned
int variable 'irq', this may lead to invalid if statement detection,
so that kfree execution is invalid. So making 'irq' an int.

Clean up the following coccicheck warning:

./arch/powerpc/sysdev/xive/common.c:1157:6-14: WARNING: Unsigned
expression compared with zero: xid -> irq < 0.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
---
 arch/powerpc/sysdev/xive/common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Christophe Leroy March 15, 2022, 9:17 a.m. UTC | #1
Le 07/05/2021 à 12:20, Jiapeng Chong a écrit :
> The return from the call to irq_domain_alloc_irqs() is int, it can be
> a negative error code, however this is being assigned to an unsigned
> int variable 'irq', this may lead to invalid if statement detection,
> so that kfree execution is invalid. So making 'irq' an int.
> 
> Clean up the following coccicheck warning:
> 
> ./arch/powerpc/sysdev/xive/common.c:1157:6-14: WARNING: Unsigned
> expression compared with zero: xid -> irq < 0.
> 
> Reported-by: Abaci Robot <abaci@linux.alibaba.com>
> Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>

This was fixed by 
https://github.com/linuxppc/linux/commit/3f601608b71c3ca1e199898cd16f09d707fedb56

> ---
>   arch/powerpc/sysdev/xive/common.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/common.c
> index a830432..a5fd45a 100644
> --- a/arch/powerpc/sysdev/xive/common.c
> +++ b/arch/powerpc/sysdev/xive/common.c
> @@ -65,7 +65,7 @@
>   #ifdef CONFIG_SMP
>   /* The IPIs use the same logical irq number when on the same chip */
>   static struct xive_ipi_desc {
> -	unsigned int irq;
> +	int irq;
>   	char name[16];
>   } *xive_ipis;
>
diff mbox series

Patch

diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/common.c
index a830432..a5fd45a 100644
--- a/arch/powerpc/sysdev/xive/common.c
+++ b/arch/powerpc/sysdev/xive/common.c
@@ -65,7 +65,7 @@ 
 #ifdef CONFIG_SMP
 /* The IPIs use the same logical irq number when on the same chip */
 static struct xive_ipi_desc {
-	unsigned int irq;
+	int irq;
 	char name[16];
 } *xive_ipis;