diff options
author | 2015-06-10 22:11:17 -0700 | |
---|---|---|
committer | 2015-06-10 23:28:33 -0700 | |
commit | f9c2ff22bb2df7b8f153afd2a4bea07176bad144 (patch) | |
tree | 3afd7e841d7d0b785d7e1e8678e5cd2372ca2d14 /net/switchdev/switchdev.c | |
parent | Merge tag 'mac80211-next-for-davem-2015-06-10' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next (diff) | |
download | wireguard-linux-f9c2ff22bb2df7b8f153afd2a4bea07176bad144.tar.xz wireguard-linux-f9c2ff22bb2df7b8f153afd2a4bea07176bad144.zip |
net: tcp: dctcp_update_alpha() fixes.
dctcp_alpha can be read by from dctcp_get_info() without
synchro, so use WRITE_ONCE() to prevent compiler from using
dctcp_alpha as a temporary variable.
Also, playing with small dctcp_shift_g (like 1), can expose
an overflow with 32bit values shifted 9 times before divide.
Use an u64 field to avoid this problem, and perform the divide
only if acked_bytes_ecn is not zero.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions