Messages in this thread | | | Date | Tue, 30 Oct 2001 20:13:51 -0500 (EST) | From | Alexander Viro <> | Subject | Re: oops on 2.4.13-pre5 in prune_dcache |
| |
On Tue, 30 Oct 2001, Linus Torvalds wrote:
> It's almost certainly _supposed_ to be a NULL pointer, but has bit 6 > set. > > So we do > > if (dentry->d_op && dentry->d_op->d_iput) > > and because dentry->d_op isn't NULL, we oops on the d_op->d_iput > dereference. > > Something is setting a bit in your dentry. Either RAM errors (do you > have ECC memory or a history of SIGSEGV's to give any indication either > way?) or a wild "set_bit()" pointer or similar.
... or corrupted pointer in the list, in which case we are at the address that had never been a dentry.
Frankly, it looks like adding magic to struct dentry and struct inode might be a good idea. Both icache and dcache lists tend to be long, so any memory corruption is very likely to show up in the code that walks them.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |