diff options
author | Eric Dumazet <edumazet@google.com> | 2015-06-11 05:11:17 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-06-11 06:28:33 (GMT) |
commit | f9c2ff22bb2df7b8f153afd2a4bea07176bad144 (patch) | |
tree | 3afd7e841d7d0b785d7e1e8678e5cd2372ca2d14 /lib/idr.c | |
parent | 1edaa7e8a7e753bd42d795bf289a6488aeae7f56 (diff) | |
download | linux-f9c2ff22bb2df7b8f153afd2a4bea07176bad144.tar.xz |
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 'lib/idr.c')
0 files changed, 0 insertions, 0 deletions