[uCsimm] CS8900 Chip Selection

From: Steffen Plotner (steffen@plotner.org)
Date: Mon Aug 28 2000 - 22:31:09 EDT


I have a simple question about the choice of the CS8900 LAN chip: the linux
software driver has to process any and all incoming packets once it receives
an interrupt. If you don't process all packets, you will not get
interrupted again.

So in English that means, if someone does a ping -f (ping flood) the uClinux
SIMM device will have no choice but to deal with the ping flood - it does
remarkably well at that - except that NO other process can do anything
because the flood has taken over the system. Try the following, connect
using the serial port, and perform the ping flood against the device. While
the ping flood occurs, attempt to do anything with the serial connection.

How exactly can CS8900 chip set be used in an embedded device, when it
possible to perform such a simple DoS (Denial of Service) attach?

Here is the snippet of source code reference of the CS8900.c file which I
found, proving my points above
        /* we MUST read all the events out of the ISQ, otherwise we'll never
           get interrupted again. As a consequence, we can't have any limit
           on the number of times we loop in the interrupt handler. The
           hardware guarantees that eventually we'll run out of events. Of
           course, if you're on a slow machine, and packets are arriving
           faster than you can read them off, you're screwed. Hasta la
           vista, baby! */

This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/

This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:37 EST