netdev
[Top] [All Lists]

Re: [2/2] [NET] Add skb_header_cloned and use it in e1000/tg3

To: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [2/2] [NET] Add skb_header_cloned and use it in e1000/tg3
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Tue, 15 Feb 2005 10:33:12 -0800
Cc: kuznet@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20050129032210.GA7424@xxxxxxxxxxxxxxxxxxx>
References: <20050121204024.6f94fc26.davem@xxxxxxxxxxxxx> <20050122054346.GA1635@xxxxxxxxxxxxxxxxxxx> <20050122170533.GB11499@xxxxxxxxxxxxxxx> <20050123071027.GA20296@xxxxxxxxxxxxxxxxxxx> <20050126110043.GA29950@xxxxxxxxxxxxxxx> <20050126222522.GA21670@xxxxxxxxxxxxxxxxxxx> <20050127110946.GA20494@xxxxxxxxxxxxxxxxxxx> <20050127111201.GB20494@xxxxxxxxxxxxxxxxxxx> <20050128202542.GA23670@xxxxxxxxxxxxxxx> <20050129031740.GA6130@xxxxxxxxxxxxxxxxxxx> <20050129032210.GA7424@xxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Sat, 29 Jan 2005 14:22:10 +1100
Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:

> This patch then uses this function in e1000/tg3 to copy the data before
> the TCP/IP header is modified.

The tg3 version creates an SKB leak.  If pskb_expand_head() fails, we just
unlock and return NETDEV_TX_OK.  The upper layer assumes the driver took
ownership of the SKB in such a case.  I would recommend just kfree_skb()'ing
the thing when this happens.

<Prev in Thread] Current Thread [Next in Thread>