On Mon, 2016-09-12 at 16:10 -0700, Eric Dumazet wrote:

> 
> diff --git a/net/core/gen_stats.c b/net/core/gen_stats.c
> index 
> 508e051304fb62627e61b5065b2325edd1b84f2e..dc9dd8ae7d5405f76c775278dac7689655b21041
>  100644
> --- a/net/core/gen_stats.c
> +++ b/net/core/gen_stats.c
> @@ -142,10 +142,14 @@ __gnet_stats_copy_basic(const seqcount_t *running,
>               return;
>       }
>       do {
> -             if (running)
> +             if (running) {
> +                     local_bh_disable();
>                       seq = read_seqcount_begin(running);
> +             }
>               bstats->bytes = b->bytes;
>               bstats->packets = b->packets;
> +             if (running)
> +                     local_bh_enable();
>       } while (running && read_seqcount_retry(running, seq));
>  }

Ah well, forget this patch, re-enabling bh right before
read_seqcount_retry() is not going to help.





Reply via email to