mirror_ubuntu-kernels/drivers/net/ethernet/google/gve
Sebastian Andrzej Siewior 278d3ba615 net: Use u64_stats_fetch_begin_irq() for stats fetch.
On 32bit-UP u64_stats_fetch_begin() disables only preemption. If the
reader is in preemptible context and the writer side
(u64_stats_update_begin*()) runs in an interrupt context (IRQ or
softirq) then the writer can update the stats during the read operation.
This update remains undetected.

Use u64_stats_fetch_begin_irq() to ensure the stats fetch on 32bit-UP
are not interrupted by a writer. 32bit-SMP remains unaffected by this
change.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Catherine Sullivan <csully@google.com>
Cc: David Awogbemila <awogbemila@google.com>
Cc: Dimitris Michailidis <dmichail@fungible.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Jeroen de Borst <jeroendb@google.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Simon Horman <simon.horman@corigine.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: oss-drivers@corigine.com
Cc: stable@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-08-29 13:02:27 +01:00
..
gve_adminq.c gve: fix the wrong AdminQ buffer queue index check 2022-01-28 15:07:56 +00:00
gve_adminq.h gve: Add a jumbo-frame device option. 2021-10-25 14:13:12 +01:00
gve_desc_dqo.h gve: Add dqo descriptors 2021-06-24 12:47:37 -07:00
gve_desc.h gve: Add optional metadata descriptor type GVE_TXD_MTD 2021-12-16 10:41:54 +00:00
gve_dqo.h gve: Add tx|rx-coalesce-usec for DQO 2021-12-16 10:41:54 +00:00
gve_ethtool.c net: Use u64_stats_fetch_begin_irq() for stats fetch. 2022-08-29 13:02:27 +01:00
gve_main.c net: Use u64_stats_fetch_begin_irq() for stats fetch. 2022-08-29 13:02:27 +01:00
gve_register.h gve: Add Gvnic stats AQ command and ethtool show/set-priv-flags. 2020-09-11 14:31:54 -07:00
gve_rx_dqo.c gve: Fix GFP flags when allocing pages 2022-01-26 18:45:01 -08:00
gve_rx.c gve: Fix spelling mistake "droping" -> "dropping" 2022-03-16 19:29:00 -07:00
gve_tx_dqo.c net: add skb_[inner_]tcp_all_headers helpers 2022-07-02 16:22:25 +01:00
gve_tx.c gve: Add optional metadata descriptor type GVE_TXD_MTD 2021-12-16 10:41:54 +00:00
gve_utils.c gve: fix for null pointer dereference. 2021-12-07 20:57:17 -08:00
gve_utils.h gve: Implement packet continuation for RX. 2021-10-25 14:13:12 +01:00
gve.h gve: Fix GFP flags when allocing pages 2022-01-26 18:45:01 -08:00
Makefile gve: DQO: Add core netdev features 2021-06-24 12:47:38 -07:00