Re: [PATCH 4/4] net/core/dev.c : Race condition in net_tx_action.

2015-02-25 Thread David Miller
From: Ameen Ali Date: Wed, 25 Feb 2015 19:50:59 +0200 > @@ -3413,7 +3413,7 @@ EXPORT_SYMBOL(netif_rx_ni); > > static void net_tx_action(struct softirq_action *h) > { > - struct softnet_data *sd = this_cpu_ptr(&softnet_data); > + volatile struct softnet_data *sd = &__get_cpu_var(softne

Re: [PATCH 4/4] net/core/dev.c : Race condition in net_tx_action.

2015-02-25 Thread Eric Dumazet
On Wed, 2015-02-25 at 19:50 +0200, Ameen Ali wrote: > Transmitting asynchronously on all the network devices available we will > notice the following behaviour: > a) The instruction "if (sd->completion_queue) {" saves on a CPU register the > pointer value (register contents is used for the compa

[PATCH 4/4] net/core/dev.c : Race condition in net_tx_action.

2015-02-25 Thread Ameen Ali
Transmitting asynchronously on all the network devices available we will notice the following behaviour: a) The instruction "if (sd->completion_queue) {" saves on a CPU register the pointer value (register contents is used for the comparison) b) The interupt is disabled (using "local_irq_disable