diff options
Diffstat (limited to 'net')
| -rw-r--r-- | net/ipv4/tcp_output.c | 10 | ||||
| -rw-r--r-- | net/phonet/af_phonet.c | 5 |
2 files changed, 9 insertions, 6 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index e4c5ac9fe89b..ba85d8831893 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
| @@ -2279,6 +2279,11 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst, | |||
| 2279 | } | 2279 | } |
| 2280 | 2280 | ||
| 2281 | memset(&opts, 0, sizeof(opts)); | 2281 | memset(&opts, 0, sizeof(opts)); |
| 2282 | #ifdef CONFIG_SYN_COOKIES | ||
| 2283 | if (unlikely(req->cookie_ts)) | ||
| 2284 | TCP_SKB_CB(skb)->when = cookie_init_timestamp(req); | ||
| 2285 | else | ||
| 2286 | #endif | ||
| 2282 | TCP_SKB_CB(skb)->when = tcp_time_stamp; | 2287 | TCP_SKB_CB(skb)->when = tcp_time_stamp; |
| 2283 | tcp_header_size = tcp_synack_options(sk, req, mss, | 2288 | tcp_header_size = tcp_synack_options(sk, req, mss, |
| 2284 | skb, &opts, &md5) + | 2289 | skb, &opts, &md5) + |
| @@ -2304,11 +2309,6 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst, | |||
| 2304 | 2309 | ||
| 2305 | /* RFC1323: The window in SYN & SYN/ACK segments is never scaled. */ | 2310 | /* RFC1323: The window in SYN & SYN/ACK segments is never scaled. */ |
| 2306 | th->window = htons(min(req->rcv_wnd, 65535U)); | 2311 | th->window = htons(min(req->rcv_wnd, 65535U)); |
| 2307 | #ifdef CONFIG_SYN_COOKIES | ||
| 2308 | if (unlikely(req->cookie_ts)) | ||
| 2309 | TCP_SKB_CB(skb)->when = cookie_init_timestamp(req); | ||
| 2310 | else | ||
| 2311 | #endif | ||
| 2312 | tcp_options_write((__be32 *)(th + 1), tp, &opts, &md5_hash_location); | 2312 | tcp_options_write((__be32 *)(th + 1), tp, &opts, &md5_hash_location); |
| 2313 | th->doff = (tcp_header_size >> 2); | 2313 | th->doff = (tcp_header_size >> 2); |
| 2314 | TCP_INC_STATS(sock_net(sk), TCP_MIB_OUTSEGS); | 2314 | TCP_INC_STATS(sock_net(sk), TCP_MIB_OUTSEGS); |
diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c index b9d97effebe3..defeb7a0d502 100644 --- a/net/phonet/af_phonet.c +++ b/net/phonet/af_phonet.c | |||
| @@ -261,6 +261,8 @@ static inline int can_respond(struct sk_buff *skb) | |||
| 261 | return 0; /* we are not the destination */ | 261 | return 0; /* we are not the destination */ |
| 262 | if (ph->pn_res == PN_PREFIX && !pskb_may_pull(skb, 5)) | 262 | if (ph->pn_res == PN_PREFIX && !pskb_may_pull(skb, 5)) |
| 263 | return 0; | 263 | return 0; |
| 264 | if (ph->pn_res == PN_COMMGR) /* indications */ | ||
| 265 | return 0; | ||
| 264 | 266 | ||
| 265 | ph = pn_hdr(skb); /* re-acquires the pointer */ | 267 | ph = pn_hdr(skb); /* re-acquires the pointer */ |
| 266 | pm = pn_msg(skb); | 268 | pm = pn_msg(skb); |
| @@ -309,7 +311,8 @@ static int send_reset_indications(struct sk_buff *rskb) | |||
| 309 | 311 | ||
| 310 | return pn_raw_send(data, sizeof(data), rskb->dev, | 312 | return pn_raw_send(data, sizeof(data), rskb->dev, |
| 311 | pn_object(oph->pn_sdev, 0x00), | 313 | pn_object(oph->pn_sdev, 0x00), |
| 312 | pn_object(oph->pn_rdev, oph->pn_robj), 0x10); | 314 | pn_object(oph->pn_rdev, oph->pn_robj), |
| 315 | PN_COMMGR); | ||
| 313 | } | 316 | } |
| 314 | 317 | ||
| 315 | 318 | ||
