Messages in this thread | | | Date | Sat, 23 Sep 2006 14:56:00 -0700 (PDT) | Subject | Re: [PATCH] Advertise PPPoE MTU / avoid memory leak. | From | David Miller <> |
| |
From: mostrows@earthlink.net Date: Sat, 23 Sep 2006 12:30:23 -0500
> __pppoe_xmit must free any skb it allocates if there is an error > submitting the skb downstream.
This isn't right, dev_queue_xmit() can return -ENETDOWN and still free the SKB, so your change will cause the SKB to be freed up twice in that case, from dev_queue_xmit():
rc = -ENETDOWN; rcu_read_unlock_bh();
out_kfree_skb: kfree_skb(skb); return rc;
dev_queue_xmit() is basically expected to consume the packet, error or not.
What case of calling dev_queue_xmit() did you discover that did not kfree the SKB on error? We should fix that. On a quick scan on the entire dev_queue_xmit() implmentation, I cannot find such a case. - 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/
| |