mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 01:32:21 +02:00
netfilter: xt_rateest: fix u64 truncation in xt_rateest_mt()
On links faster than ~34 Gbps, where byte rate may exceed 2^32-1
(~ 4.3 GBps), the comparison result becomes incorrect because the
truncated value no longer reflects the actual estimator rate.
Fix by changing the local variables to u64.
Fixes: 1c0d32fde5 ("net_sched: gen_estimator: complete rewrite of rate estimators")
Signed-off-by: Feng Wu <wufengwufengwufeng@gmail.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
This commit is contained in:
parent
64cdf7d30a
commit
444853cd43
|
|
@ -16,7 +16,7 @@ xt_rateest_mt(const struct sk_buff *skb, struct xt_action_param *par)
|
|||
{
|
||||
const struct xt_rateest_match_info *info = par->matchinfo;
|
||||
struct gnet_stats_rate_est64 sample = {0};
|
||||
u_int32_t bps1, bps2, pps1, pps2;
|
||||
u64 bps1, bps2, pps1, pps2;
|
||||
bool ret = true;
|
||||
|
||||
gen_estimator_read(&info->est1->rate_est, &sample);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user