Backed out (via reversing the patch), but the problem still occurs
(which makes the following observation from David Miller, while true,
possibly not relevant):
> It's this rtl8139.c change in 2.2.11:
>
> @@ -982,9 +1042,9 @@
> rtl8129_rx(dev);
>
> if (status & (TxOK | TxErr)) {
> - unsigned int dirty_tx;
> + unsigned int dirty_tx = tp->dirty_tx;
>
> - for (dirty_tx = tp->dirty_tx; dirty_tx < tp->cur_tx; dirty_tx++) {
> + while (tp->cur_tx - dirty_tx > 0) {
> int entry = dirty_tx % NUM_TX_DESC;
> int txstatus = inl(ioaddr + TxStatus0 + entry*4);
>
> Unsigned stuff + comparisons against being negative == leak.
>
Incidently, the same memory leak occurs while running with the
latest-and-greatest version of rtl8139.c (v. 1.08a; from Donald Becker's
website). Also recall that the 2.2.11 patch, as delivered, runs fine on
the same box under Mandrake 6.0...
>
> If not tell me which of
> bridging, multicast routing, firewalling, masquerade, isdn4linux
>
> you have enabled and if you are using the feature.
>
Multicast is the only one set (CONFIG_IP_MULTICAST=y). I don't use it,
but I'll have to ask our network admin guy whether or not there is
actually any multicast traffic on our LAN. Since he's likely asleep now,
I'll have to ask him tomorrow :-)
Frank Horowitz
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/