Re: [PATCH] Re: PPPoE Oops with 2.4.22-rc

From: Marcus Sundberg
Date: Fri Aug 22 2003 - 16:21:42 EST


Junio C Hamano <junkio@xxxxxxx> writes:

> >>>>> "MS" == Marcus Sundberg <marcus@xxxxxxxxxx> writes:
>
> MS> this patch fixes one crash in pppoe_connect():
>
> --- linux-2.4.21-rc2/drivers/net/pppoe.c~ Wed May 14 00:08:52 2003
> +++ linux-2.4.21-rc2/drivers/net/pppoe.c Wed May 14 00:18:47 2003
> @@ -606,7 +606,8 @@
> /* Delete the old binding */
> delete_item(po->pppoe_pa.sid,po->pppoe_pa.remote);
>
> - dev_put(po->pppoe_dev);
> + if (po->pppoe_dev)
> + dev_put(po->pppoe_dev);
>
> memset(po, 0, sizeof(struct pppox_opt));
> po->sk = sk;
>
> Could you explain when/how pppoe_connect gets called with
> (pppoe_dev == NULL) but with an old binding?

I triggered it by doing 'ifconfig down' on the underlying ethernet
device. It's possible there are other ways to trigger it also. When
I made the fix I just looked at where the oops occured.

//Marcus
--
---------------------------------------+--------------------------
Marcus Sundberg <marcus@xxxxxxxxxx> | Firewalls with SIP & NAT
Firewall Developer, Ingate Systems AB | http://www.ingate.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/