Subject: Re: [PATCH net-next 02/10] 8139too: Call dev_kfree_skby_any instead of dev_kfree_skb.

From: [email-masked] (Eric W. Biederman)
Date: Thu, 13 Mar 2014 14:08:21 -0700

Eric Dumazet <[email-masked]> writes:

> On Wed, 2014-03-12 at 22:24 +0100, Francois Romieu wrote:
>> Eric Dumazet <[email-masked]> :
>> [...]
>> > Same u64_stats_fetch_begin_bh() problem for this driver to fetch TX
>> > stats.
>> 
>> Same problem for any NAPI context Tx completing driver that claims
>> netpoll support. For instance:
>> drivers/net/ethernet/emulex/benet
>> drivers/net/ethernet/intel/i40e
>> drivers/net/ethernet/intel/igb
>> drivers/net/ethernet/intel/ixgbe
>> drivers/net/ethernet/marvell/sky2.c
>> drivers/net/ethernet/neterion/vxge ?
>> 
>> Similar problem for the drivers below. They update Tx stats in start_xmit
>> and use u64_.*_bh:
>> drivers/net/ethernet/tile/tilepro.c
>> drivers/net/team/team.c
>> drivers/net/virtio_net.c
>> 
>
> Yep, note that this issue is not caused by Eric patches, we need to take
> care of this by providing u64_stats_fetch_{begin|retry}_irq() regardless
> of how skb are freed.

By my read of the code this is actually only a problem on 32bit
uniprocessor, and at worst it scrambles the reported nuumbers if we
happen to have a printk in irq context while we are fetching the stats.

Given the rest of the problems that I am fixing can corrupt things, and
can happen on any platform I am going to ignore this problem for now.

Eric