Re: 2.6.21-rc2-mm2

Andrew Morton
2007-03-06T11:09:43Z

On Tue, 6 Mar 2007 19:27:18 +0900 KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:

>
> Following panic ouccurred (always) on ia64/NUMA(with empty node.)
>
> Bug in here.
> ==
> void move_native_irq(int irq)
> {
> struct irq_desc *desc = irq_desc + irq;
>
> if (likely(!(desc->status & IRQ_MOVE_PENDING)))
> return;
>
> if (unlikely(desc->status & IRQ_DISABLED))
> return;
>
> desc->chip->mask(irq); <---------maybe this *mask* is NULL pointer
> move_masked_irq(irq);
> desc->chip->unmask(irq);
> }
> ==
>
> Is "mask" always valid pointer ?

I can only find two `struct irq_chip's in arch/ia64 and they both have a
.mask. And a .unmask. So perhaps that is a misreading of what oopsed.

There are no changes in kernel/irq/ in -mm. Are you sure mainline doesn't
do this too?

Anyway, can you please take a closer look at exactly what pointer it is
oopsing on?