2023-03-08 09:13:46

by David Binderman

[permalink] [raw]
Subject: linux-6.3-rc1/arch/sparc/kernel/pcic.c:768: possible problem with shift values ?

Hello there,

The source code is

static inline unsigned long get_irqmask(int irq_nr)
{
? ? return 1 << irq_nr;
}

That's only going to work correctly for irq_nr < 32.
If irq_nr gets >= 32, that will wrap around.
Perhaps the programmer intended

static inline unsigned long get_irqmask(int irq_nr)
{
? ? return 1UL << irq_nr;
}

Regards

David Binderman