[PATCH 2/2] w35und: plug memory leak in wbsoft_tx() - Kernel

This is a discussion on [PATCH 2/2] w35und: plug memory leak in wbsoft_tx() - Kernel ; From: Pekka Enberg There's no reason to duplicate the skb in wbsoft_tx() and leak GFP_ATOMIC memory as the contents are copied to ->TxBuffer in MdxTx() anyway before MLMESendFrame() returns. Cc: Pavel Machek Signed-off-by: Pekka Enberg --- drivers/staging/winbond/linux/wbusb.c | 7 ++----- ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: [PATCH 2/2] w35und: plug memory leak in wbsoft_tx()

  1. [PATCH 2/2] w35und: plug memory leak in wbsoft_tx()

    From: Pekka Enberg

    There's no reason to duplicate the skb in wbsoft_tx() and leak GFP_ATOMIC
    memory as the contents are copied to ->TxBuffer in MdxTx() anyway before
    MLMESendFrame() returns.

    Cc: Pavel Machek
    Signed-off-by: Pekka Enberg
    ---
    drivers/staging/winbond/linux/wbusb.c | 7 ++-----
    1 files changed, 2 insertions(+), 5 deletions(-)

    diff --git a/drivers/staging/winbond/linux/wbusb.c b/drivers/staging/winbond/linux/wbusb.c
    index 128b70a..8957634 100644
    --- a/drivers/staging/winbond/linux/wbusb.c
    +++ b/drivers/staging/winbond/linux/wbusb.c
    @@ -114,11 +114,8 @@ static void wbsoft_configure_filter(struct ieee80211_hw *dev,

    static int wbsoft_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
    {
    - char *buffer = kmalloc(skb->len, GFP_ATOMIC);
    - printk("Sending frame %d bytes\n", skb->len);
    - memcpy(buffer, skb->data, skb->len);
    - if (1 == MLMESendFrame(my_adapter, buffer, skb->len, FRAME_TYPE_802_11_MANAGEMENT))
    - printk("frame sent ok (%d bytes)?\n", skb->len);
    + MLMESendFrame(my_adapter, skb->data, skb->len, FRAME_TYPE_802_11_MANAGEMENT);
    +
    return NETDEV_TX_OK;
    }

    --
    1.5.3.7

    --
    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/

  2. Re: [PATCH 2/2] w35und: plug memory leak in wbsoft_tx()

    On Tue 2008-10-28 00:14:38, Pekka J Enberg wrote:
    > From: Pekka Enberg
    >
    > There's no reason to duplicate the skb in wbsoft_tx() and leak GFP_ATOMIC
    > memory as the contents are copied to ->TxBuffer in MdxTx() anyway before
    > MLMESendFrame() returns.


    Acked-by: Pavel Machek

    ....but I guess I should test the this after it hits the mainline...
    Pavel
    --
    (english) http://www.livejournal.com/~pavelmachek
    (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pav...rses/blog.html
    --
    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/

  3. Re: [PATCH 2/2] w35und: plug memory leak in wbsoft_tx()

    On Tue 2008-10-28 00:14:38, Pekka J Enberg wrote:
    >> From: Pekka Enberg
    >>
    >> There's no reason to duplicate the skb in wbsoft_tx() and leak GFP_ATOMIC
    >> memory as the contents are copied to ->TxBuffer in MdxTx() anyway before
    >> MLMESendFrame() returns.


    On Tue, Oct 28, 2008 at 9:32 PM, Pavel Machek wrote:
    > Acked-by: Pavel Machek
    >
    > ...but I guess I should test the this after it hits the mainline...


    For sure. I'm bit surprised no one noticed this before as it seems to
    be leaking memory for every transmitted frame...
    --
    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/

  4. Re: [PATCH 2/2] w35und: plug memory leak in wbsoft_tx()

    On Tue 2008-10-28 23:08:50, Pekka Enberg wrote:
    > On Tue 2008-10-28 00:14:38, Pekka J Enberg wrote:
    > >> From: Pekka Enberg
    > >>
    > >> There's no reason to duplicate the skb in wbsoft_tx() and leak GFP_ATOMIC
    > >> memory as the contents are copied to ->TxBuffer in MdxTx() anyway before
    > >> MLMESendFrame() returns.

    >
    > On Tue, Oct 28, 2008 at 9:32 PM, Pavel Machek wrote:
    > > Acked-by: Pavel Machek
    > >
    > > ...but I guess I should test the this after it hits the mainline...

    >
    > For sure. I'm bit surprised no one noticed this before as it seems to
    > be leaking memory for every transmitted frame...


    Well, I'm not quite surprised. I noticed the driver stops working
    after a while, but at that point it was a small miracle that it worked
    at all...

    --
    (english) http://www.livejournal.com/~pavelmachek
    (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pav...rses/blog.html
    --
    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/

+ Reply to Thread