Commit ed2361e66eec60645f8e4715fe39a42235ef43ae

Authored by David S. Miller
1 parent 6bd023f3dd

ipv4: Pass explicit destination address to rt_get_peer().

This will next trickle down to rt_bind_peer().

Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 2 changed files with 4 additions and 4 deletions Side-by-side Diff

... ... @@ -292,7 +292,7 @@
292 292  
293 293 extern void rt_bind_peer(struct rtable *rt, int create);
294 294  
295   -static inline struct inet_peer *rt_get_peer(struct rtable *rt)
  295 +static inline struct inet_peer *rt_get_peer(struct rtable *rt, __be32 daddr)
296 296 {
297 297 if (rt->peer)
298 298 return rt->peer;
... ... @@ -206,7 +206,7 @@
206 206  
207 207 if (tcp_death_row.sysctl_tw_recycle &&
208 208 !tp->rx_opt.ts_recent_stamp && fl4->daddr == daddr) {
209   - struct inet_peer *peer = rt_get_peer(rt);
  209 + struct inet_peer *peer = rt_get_peer(rt, fl4->daddr);
210 210 /*
211 211 * VJ's idea. We save last timestamp seen from
212 212 * the destination in peer table, when entering state
... ... @@ -1353,8 +1353,8 @@
1353 1353 if (tmp_opt.saw_tstamp &&
1354 1354 tcp_death_row.sysctl_tw_recycle &&
1355 1355 (dst = inet_csk_route_req(sk, &fl4, req)) != NULL &&
1356   - (peer = rt_get_peer((struct rtable *)dst)) != NULL &&
1357   - peer->daddr.addr.a4 == saddr) {
  1356 + fl4.daddr == saddr &&
  1357 + (peer = rt_get_peer((struct rtable *)dst, fl4.daddr)) != NULL) {
1358 1358 inet_peer_refcheck(peer);
1359 1359 if ((u32)get_seconds() - peer->tcp_ts_stamp < TCP_PAWS_MSL &&
1360 1360 (s32)(peer->tcp_ts - req->ts_recent) >