2022-07-22 00:53:55

by Yang Li

[permalink] [raw]
Subject: [PATCH -next] LoongArch: Fix unsigned comparison with less than zero

The return from the call to get_timer_irq() is int, it can be
a negative error code, however this is being assigned to an
unsigned int variable 'irq', so making 'irq' an int.

Eliminate the following coccicheck warning:
./arch/loongarch/kernel/time.c:146:5-8: WARNING: Unsigned expression compared with zero: irq < 0

Reported-by: Abaci Robot <[email protected]>
Signed-off-by: Yang Li <[email protected]>
---
arch/loongarch/kernel/time.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/loongarch/kernel/time.c b/arch/loongarch/kernel/time.c
index 79dc5eddf504..786735dcc8d6 100644
--- a/arch/loongarch/kernel/time.c
+++ b/arch/loongarch/kernel/time.c
@@ -135,7 +135,7 @@ static int get_timer_irq(void)

int constant_clockevent_init(void)
{
- unsigned int irq;
+ int irq;
unsigned int cpu = smp_processor_id();
unsigned long min_delta = 0x600;
unsigned long max_delta = (1UL << 48) - 1;
--
2.20.1.7.g153144c


2022-07-22 03:20:36

by Huacai Chen

[permalink] [raw]
Subject: Re: [PATCH -next] LoongArch: Fix unsigned comparison with less than zero

Hi, Yang Li,

Thank you for your patch. This looks good to me and will be queued for
5.20, since Marc said he will not rebase his branch. :)

Huacai

On Fri, Jul 22, 2022 at 8:42 AM Yang Li <[email protected]> wrote:
>
> The return from the call to get_timer_irq() is int, it can be
> a negative error code, however this is being assigned to an
> unsigned int variable 'irq', so making 'irq' an int.
>
> Eliminate the following coccicheck warning:
> ./arch/loongarch/kernel/time.c:146:5-8: WARNING: Unsigned expression compared with zero: irq < 0
>
> Reported-by: Abaci Robot <[email protected]>
> Signed-off-by: Yang Li <[email protected]>
> ---
> arch/loongarch/kernel/time.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/loongarch/kernel/time.c b/arch/loongarch/kernel/time.c
> index 79dc5eddf504..786735dcc8d6 100644
> --- a/arch/loongarch/kernel/time.c
> +++ b/arch/loongarch/kernel/time.c
> @@ -135,7 +135,7 @@ static int get_timer_irq(void)
>
> int constant_clockevent_init(void)
> {
> - unsigned int irq;
> + int irq;
> unsigned int cpu = smp_processor_id();
> unsigned long min_delta = 0x600;
> unsigned long max_delta = (1UL << 48) - 1;
> --
> 2.20.1.7.g153144c
>