Port-amd64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Frequent kernel panic with compat_linux module
On Wed, Dec 10, 2008 at 10:31:36PM +0000, David Laight wrote:
> On Wed, Dec 10, 2008 at 01:35:26AM +0100, Nicolas Joly wrote:
> >
> > l->l_sysent = sy;
> > error = (*sy->sy_call)(l, uap, rval);
> > ca2f: 48 89 e2 mov %rsp,%rdx
> > ca32: 48 89 ab 08 03 00 00 mov %rbp,0x308(%rbx)
> > ca39: 4c 89 e6 mov %r12,%rsi
> > ca3c: 48 89 df mov %rbx,%rdi
> > ca3f: ff 55 08 callq *0x8(%rbp)
> > l->l_sysent = NULL;
> > ca42: 48 c7 83 08 03 00 00 movq $0x0,0x308(%rbx) <----
> > ca49: 00 00 00 00
>
> Well, %rbx is supposed to be caller-saved and must have been valid
> at address ca32. So something must be trashing it!
>
> Did you work out which system call(s) were active?
Not sure ... most of time, i do not have a full trace.
Stopped in pid 3810.1 (cc1) at compat_linux:linux_syscall+0x92: movq
$0,0x308(%rbx)
db{0}> bt
linux_syscall() at compat_linux:linux_syscall+0x92
But i encountered twice another variant which ended deeper in the
kernel.
kernel: page fault trap, code=0
Stopped in pid 1117.1 (x86_64-pc-linux-) at netbsd:fork1+0x48d: movq
0x100(%rbx),%rdx
db{0}> bt
fork1() at netbsd:fork1+0x48d
sys_fork() at netbsd:sys_fork+0x32
linux_syscall() at compat_linux:linux_syscall+0xa3
--
Nicolas Joly
Biological Software and Databanks.
Institut Pasteur, Paris.
Home |
Main Index |
Thread Index |
Old Index