Messages in this thread | | | Date | Sun, 13 Jul 2008 13:55:22 +0200 | From | "Vegard Nossum" <> | Subject | Re: per-cpu related? |
| |
Hi,
On Sun, Jul 13, 2008 at 10:16 AM, Yinghai Lu <yhlu.kernel@gmail.com> 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
| |