bughelp wanted
仓库指标
- Star
- (22,409 star)
- PR 合并指标
- (平均合并 12天 6小时) (30 天内合并 12 个 PR)
描述
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;
...
}