jiufei19 发表于 2016-08-25 11:58

tcp_rcv_synsent_state_process函数中的疑问【已解决】

本帖最后由 jiufei19 于 2016-08-25 17:31 编辑

版本2.6.23,2.6.28

4448 static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb,
4449                      struct tcphdr *th, unsigned len)
4450 {
...                ...
4511         tp->snd_wl1 = TCP_SKB_CB(skb)->seq;
...             ...
4524         tcp_init_wl(tp, TCP_SKB_CB(skb)->ack_seq, TCP_SKB_CB(skb)->seq);
...             ...
   

第4511和4524行做的完全是相同的工作,请问为啥要这样写呢?

jiufei19 发表于 2016-08-25 17:27

本帖最后由 jiufei19 于 2016-08-25 17:29 编辑

仔细翻看了几个版本的,发现都有这个问题,刚刚翻看到V3.8版本,发现该函数去掉了第4511行的设置,保留了4524行的设置,这个问题终于解决了


顺便说下,刚发现此问题时,我即刻就到https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git这上面去找是否有修改记录,结果居然没有找到,太奇怪了,所以才在论坛上发帖子

nswcfd 发表于 2016-08-27 20:05

研究的很细致,赞!
页: [1]
查看完整版本: tcp_rcv_synsent_state_process函数中的疑问【已解决】