diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/sctp/sctp.h | 2 | ||||
| -rw-r--r-- | include/net/sctp/structs.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 554cf88605fc..cb28df9c2781 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
| @@ -613,7 +613,7 @@ static inline void sctp_v4_map_v6(union sctp_addr *addr) | |||
| 613 | */ | 613 | */ |
| 614 | static inline struct dst_entry *sctp_transport_dst_check(struct sctp_transport *t) | 614 | static inline struct dst_entry *sctp_transport_dst_check(struct sctp_transport *t) |
| 615 | { | 615 | { |
| 616 | if (t->dst && !dst_check(t->dst, 0)) { | 616 | if (t->dst && !dst_check(t->dst, t->dst_cookie)) { |
| 617 | dst_release(t->dst); | 617 | dst_release(t->dst); |
| 618 | t->dst = NULL; | 618 | t->dst = NULL; |
| 619 | } | 619 | } |
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 75c4c16601b6..c0f4e29eedd5 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
| @@ -946,6 +946,7 @@ struct sctp_transport { | |||
| 946 | __u64 hb_nonce; | 946 | __u64 hb_nonce; |
| 947 | 947 | ||
| 948 | struct rcu_head rcu; | 948 | struct rcu_head rcu; |
| 949 | u32 dst_cookie; | ||
| 949 | }; | 950 | }; |
| 950 | 951 | ||
| 951 | struct sctp_transport *sctp_transport_new(struct net *, const union sctp_addr *, | 952 | struct sctp_transport *sctp_transport_new(struct net *, const union sctp_addr *, |
