iovisor/bcc
Incorrect calculation of recv throughput in tcptop.py
Ouverte
#5 352 ouverte le 4 juil. 2025
bughelp wanted
Métriques du dépôt
- Stars
- (22 627 étoiles)
- Métriques de merge PR
- (Merge moyen 12j 6h) (12 PRs mergées en 30 j)
Description
tcp_cleanup_rbuf is called several times in a loop inside tcp_recvmsg. At the same time, it is passed the accumulated parameter "copied". Thus, the same data is taken into account several times.
int tcp_recvmsg(...) {
...
int copied = 0;
...
do {
...
tcp_cleanup_rbuf(sk, copied);
...
copied += used;
...
} while (len > 0);
tcp_cleanup_rbuf(sk, copied);
return copied;
...
}