Re: per-cpu related?

From: Vegard Nossum
Date: Sun Jul 13 2008 - 07:55:37 EST


Hi,

On Sun, Jul 13, 2008 at 10:16 AM, Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:
> calling pcie_portdrv_init+0x0/0x77
> BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
> IP: [<ffffffff802557de>] hrtick_start_fair+0x8e/0x178
> PGD 0
> Oops: 0000 [1] SMP
> CPU 4
> Modules linked in:
> Pid: 103, comm: events/4 Not tainted 2.6.26-rc9-tip-01834-g99e624f-dirty #354
> RIP: 0010:[<ffffffff802557de>] [<ffffffff802557de>]
> hrtick_start_fair+0x8e/0x178

I find that this corresponds to timer->base being NULL:

static inline int hrtimer_is_hres_active(struct hrtimer *timer)
{
return timer->base->cpu_base->hres_active;
}

Apparently timer->base can legitimately be NULL in some cases:

/*
* [...]
* When the timer's base is locked, and the timer removed from list, it is
* possible to set timer->base = NULL and drop the lock: the timer remains
* locked.
*/

I don't know any more than this yet, I hope I didn't waste your time.


Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/