Re: 2.5.69+bk: oops in apmd after waking up from suspend mode
Alex Riesen <[email protected]> Mon, 19 May 2003 16:41:30 +0200
| Newsgroups | org.kernel.vger.linux-laptop,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Alex Riesen, Mon, May 19, 2003 14:31:19 +0200: > > >EIP is at fix_processor_context+0x5f/0x100 > > >Process kapmd (pid: 4, threadinfo=c5f0e000 task=c5fbc640) > > > > After receiving Alex' .config and gcc version (3.2.3), I've been > > able to decipher this. current->mm is NULL in the kapmd task. The call > > > > load_LDT(¤t->mm->context); /* This does lldt */ > > > > in fix_processor_context() computes the address of context as > > (current->mm)+0x7c, which is 0x7c. load_LDT_nolock() dereferences > > 0x7c+0x14 (void *segments = pc->ldt) and the oops follows. > > > > As to _why_ kapmd's current->mm is NULL, I don't know. It isn't > > when I test APM suspend in 2.5.69-bk. A lot of code dereferences > > current->mm without checking, so I guess current->mm==NULL is a bug. > > > > i just go and try it with the latest -bk. > no change. Still oopses. Is it safe to trace this path with printks? I'm about to put them in, but a good advice could probably come before the compilation finishes. -alex