[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100503.153052.38313011.davem@davemloft.net>
Date: Mon, 03 May 2010 15:30:52 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: shemminger@...tta.com
Cc: eric.dumazet@...il.com, netdev@...r.kernel.org
Subject: Re: OOP in ip_cmsg_recv (net-next)
From: Stephen Hemminger <shemminger@...tta.com>
Date: Mon, 3 May 2010 14:00:48 -0700
> On Mon, 03 May 2010 19:04:26 +0200
> Eric Dumazet <eric.dumazet@...il.com> wrote:
>
>> diff --git a/net/core/datagram.c b/net/core/datagram.c
>> index 95b851f..88949b0 100644
>> --- a/net/core/datagram.c
>> +++ b/net/core/datagram.c
>> @@ -230,12 +230,8 @@ EXPORT_SYMBOL(skb_free_datagram);
>> void skb_free_datagram_locked(struct sock *sk, struct sk_buff *skb)
>> {
>> lock_sock_bh(sk);
>> - skb_orphan(skb);
>> - sk_mem_reclaim_partial(sk);
>> + skb_free_datagram(sk, skb);
>> unlock_sock_bh(sk);
>> -
>> - /* skb is now orphaned, might be freed outside of locked section */
>> - consume_skb(skb);
>> }
>> EXPORT_SYMBOL(skb_free_datagram_locked);
>
> This works great for me. No messages for several hours.
Eric if we can't refine properly your other approach to fixing this
I'd like to apply this version meanwhile...
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists