David Yang <[email protected]> writes: > In ovs_vport_get_upcall_stats(), some statistics protected by > u64_stats_sync, are read and accumulated in ignorance of possible > u64_stats_fetch_retry() events. These statistics are already accumulated > by u64_stats_inc(). Fix this by reading them into temporary variables > first. > > Fixes: 1933ea365aa7 ("net: openvswitch: Add support to count upcall packets") > Signed-off-by: David Yang <[email protected]> > --- > v1: https://lore.kernel.org/r/[email protected] > - use u64 instead of __u64 > net/openvswitch/vport.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-)
Thanks for the patch - I did a spot-check of the rest of the module with the following: ~/git/linux/net/openvswitch$ grep -nr 'while\(.*fetch.*\)' and didn't find any other places that seemed to duplicate this mistaken read pattern (at least in the OVS kernel module). Reviewed-by: Aaron Conole <[email protected]> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
