Re: 2.1.71 oops

Bill Hawes (whawes@star.net)
Sun, 07 Dec 1997 22:01:21 -0500


Colin Plumb wrote:
> I've been getting Oopsen from 2.1.71 on an IBM Thinkpad 365XD laptop.
> It's running a very current (last updated in the wee hours of Saturday
> morning) Debian hamm system, GCC 2.7.2.3.

> list_del(tmp);
> 1d0: 8b 51 04 movl 0x4(%ecx),%edx
> 1d3: 8b 01 movl (%ecx),%eax
> 1d5: 89 50 04 movl %edx,0x4(%eax)
> *1d8: 89 02 movl %eax,(%edx) * <-- Error here
> INIT_LIST_HEAD(tmp);
> 1da: 89 09 movl %ecx,(%ecx)
> 1dc: 89 49 04 movl %ecx,0x4(%ecx)
> continue;
> 1df: eb ad jmp 18e <select_dcache+5a>
>
> Clearly, something on the dentry chain has a trashed prev pointer.

Hi Colin,

Thanks for the well-decoded report, but unfortunately I haven't been
able to figure out how the dentry list is getting trashed. Oopses like
this have been reported for a while, but the pattern still eludes me.
Possibly a stray pointer that happens to hit the dentry?

If the cause doesn't get tracked down soon, I may write a dentry list
verifier to check the lists at frequent intervals. As it stands, the
list could have been corrupted quite a while before the oops.

Regards,
Bill