[PATCH -R] Re: 2.4.10 is toxic to my system when I use my USB webcam (was: More info. on crash)

From: Jan Harkes (jaharkes@cs.cmu.edu)
Date: Wed Sep 26 2001 - 18:11:25 EST


On Wed, Sep 26, 2001 at 10:43:54AM -0400, Eloy A. Paris wrote:
> I have been doing some tests to determine where the problems is. The
> good news is that the problem is not in your driver. The bad news is
> that 2.4.10 is toxic to my system (at least when I try to use my
> Phillips webcam) and that the problem lies somewhere else.
>
> Here's a quick summary of the tests I did:
>
> (0) Stock 2.4.9: rock solid
> (1) Stock 2.4.10: system crash after device is open()'ed
> (2) 2.4.10 + pwc 8.1 (backed out pwc 8.2): system crash as in (1)
> (3) 2.4.10 + changes to usbcore.o and usb-uhci.o backed out: system
> crash.
> (4) 2.4.9 + pwc 8.2: rock solid

It hit me as well and I found the culprit, the crash happens in
usb-uhci.c:process_iso, where the following code used to be 'safe'

        for (i = 0; p != &urb_priv->desc_list; i++) {
...
            list_del (p);
            p = p->next;
            delete_desc (s, desc);
        }

However, some infidel sneaked the following change into 2.4.10, late in
the testcycle, which is deadly. This patch needs to be reverted. If the
behaviour is wanted all uses of list_del in the kernel need to be looked
at very closely.

Jan

====
diff -u --recursive --new-file v2.4.9/linux/include/linux/list.h linux/include/l
inux/list.h
--- v2.4.9/linux/include/linux/list.h Fri Feb 16 16:06:17 2001
+++ linux/include/linux/list.h Sun Sep 23 10:31:02 2001
@@ -90,6 +92,7 @@
 static __inline__ void list_del(struct list_head *entry)
 {
        __list_del(entry->prev, entry->next);
+ entry->next = entry->prev = 0;
 }
 
 /**

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



This archive was generated by hypermail 2b29 : Sun Sep 30 2001 - 21:00:52 EST