linux/drivers/net/netdevsim
Sebastian Andrzej Siewior 89b1ca9167 net: Use u64_stats_fetch_begin_irq() for stats fetch.
commit 278d3ba615 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2022-09-08 11:24:06 +02:00
..
bpf.c netdevsim: Avoid allocation warnings triggered from user space 2022-08-17 15:14:58 +02:00
bus.c netdevsim: rename 'driver' entry points 2021-11-01 13:29:41 +00:00
dev.c devlink: hold the instance lock during eswitch_mode callbacks 2022-03-21 14:11:38 +00:00
ethtool.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-16 16:13:19 -08:00
fib.c netdevsim: fib: Fix reference count leak on route deletion failure 2022-08-17 15:14:58 +02:00
health.c devlink: Delete not-used devlink APIs 2021-09-17 14:19:39 +01:00
hwstats.c netdevsim: Introduce support for L3 offload xstats 2022-03-15 14:00:51 +01:00
ipsec.c netdevsim: rely on XFRM state direction instead of flags 2022-05-06 08:34:33 +02:00
Makefile netdevsim: Introduce support for L3 offload xstats 2022-03-15 14:00:51 +01:00
netdev.c net: Use u64_stats_fetch_begin_irq() for stats fetch. 2022-09-08 11:24:06 +02:00
netdevsim.h netdevsim: replace vfs_lock with devlink instance lock 2022-03-21 14:11:38 +00:00
psample.c netdevsim: Only use sampling truncation length when valid 2021-04-22 13:23:56 -07:00
udp_tunnels.c netdevsim: set .owner to THIS_MODULE 2020-11-17 14:08:59 -08:00