[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 2.6.0-test8-mm1



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);

signature