Re: 2.6.0-test8-mm1

From: Thomas Schlichter
Date: Mon Oct 20 2003 - 17:05:58 EST


On Monday 20 October 2003 23:48, Andrew Morton wrote:
> A colleague here has discovered that this crash is repeatable, but goes
> away when the radeon driver is disabled.
>
> Are you using that driver?

No, I'm not... I use the vesafb driver. Do you think disabling this could cure
the Oops?

Btw. a similar Oops at the same place occours when the uhci-hcd module is
unloaded...

The attached patch prevents the kernel from Oopsing, so it seems some inode
lists are corrupted (NULL terminated!). Don't know how the FB driver could be
the reason...

Regards
Thomas
--- linux-2.6.0-test8-mm1/fs/inode.c.orig Mon Oct 20 20:52:26 2003
+++ linux-2.6.0-test8-mm1/fs/inode.c Mon Oct 20 22:43:52 2003
@@ -292,14 +292,16 @@
int busy = 0, count = 0;

next = head->next;
- for (;;) {
- struct list_head * tmp = next;
+ while (next != head) {
struct inode * inode;
-
- next = next->next;
- if (tmp == head)
+#if 1
+ if (!next) {
+ printk(KERN_ERR "Badness in invalidate_list() !\n");
break;
- inode = list_entry(tmp, struct inode, i_list);
+ }
+#endif
+ inode = list_entry(next, struct inode, i_list);
+ next = next->next;
if (inode->i_sb != sb)
continue;
invalidate_inode_buffers(inode);

Attachment: pgp00001.pgp
Description: signature