[PATCH] powerpc/xive: Fix unsigned comparison with less than zero

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE1629d

2 messages, 2 authors, 2022-03-15 · open the first message on its own page

[PATCH] powerpc/xive: Fix unsigned comparison with less than zero

From: Jiapeng Chong <hidden>
Date: 2021-05-07 10:21:05

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 <redacted>
Signed-off-by: Jiapeng Chong <redacted>
---
 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;
 
-- 
1.8.3.1

Re: [PATCH] powerpc/xive: Fix unsigned comparison with less than zero

From: Christophe Leroy <hidden>
Date: 2022-03-15 09:17:52


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 <redacted>
Signed-off-by: Jiapeng Chong <redacted>
This was fixed by 
https://github.com/linuxppc/linux/commit/3f601608b71c3ca1e199898cd16f09d707fedb56
quoted hunk
---
  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;
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help