Re: looking for help tracing oops

From: Chuck Ebbert
Date: Sat Sep 03 2005 - 22:16:31 EST


In-Reply-To: <431925C4.60509@xxxxxxxxxx>

On Fri, 02 Sep 2005 at 22:25:40 -0600, Christopher Friesen wrote:

> One thing I
> don't understand--the function makes calls to other functions including
> printk(), but I don't see those calls listed in the disassembly.

Calls to external functions whose address is not known at compile time
look like this (using 'objdump -d' on my 2.6.10 kernel:)

19fd: e8 fc ff ff ff call 19fe <filp_close+0x4e>

e8 is call relative with 32-bit displacement from start of next instruction.
The displacement points right back at itself (fffffffc == -4)

> EIP is at filp_close+0x64/0xa0

Here:

> 0x00001ac4 <filp_close+100>: mov 0x2c(%eax),%edx <============
> 0x00001ac7 <filp_close+103>: test %edx,%edx
> 0x00001ac9 <filp_close+105>: je 0x1a93 <filp_close+51>

eax is f88ad500 and your illegal access was at f88ad52c

Looks like filp->fops points to unallocated memory and it dies while
trying to access filp->fops->flush here:

if (filp->f_op && filp->f_op->flush) {

__
Chuck
-
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/