diff options
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/ipv6.h | 15 | ||||
| -rw-r--r-- | include/net/iucv/af_iucv.h | 2 | ||||
| -rw-r--r-- | include/net/sctp/command.h | 2 | ||||
| -rw-r--r-- | include/net/sctp/sctp.h | 4 | ||||
| -rw-r--r-- | include/net/sctp/structs.h | 1 | ||||
| -rw-r--r-- | include/net/tcp.h | 3 | ||||
| -rw-r--r-- | include/net/xfrm.h | 41 |
7 files changed, 36 insertions, 32 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index f70afef9c3cc..4fa5dfe886c4 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
| @@ -204,9 +204,9 @@ struct ip6_flowlabel | |||
| 204 | { | 204 | { |
| 205 | struct ip6_flowlabel *next; | 205 | struct ip6_flowlabel *next; |
| 206 | __be32 label; | 206 | __be32 label; |
| 207 | atomic_t users; | ||
| 207 | struct in6_addr dst; | 208 | struct in6_addr dst; |
| 208 | struct ipv6_txoptions *opt; | 209 | struct ipv6_txoptions *opt; |
| 209 | atomic_t users; | ||
| 210 | unsigned long linger; | 210 | unsigned long linger; |
| 211 | u8 share; | 211 | u8 share; |
| 212 | u32 owner; | 212 | u32 owner; |
| @@ -291,7 +291,7 @@ static inline int ipv6_addr_src_scope(const struct in6_addr *addr) | |||
| 291 | 291 | ||
| 292 | static inline int ipv6_addr_cmp(const struct in6_addr *a1, const struct in6_addr *a2) | 292 | static inline int ipv6_addr_cmp(const struct in6_addr *a1, const struct in6_addr *a2) |
| 293 | { | 293 | { |
| 294 | return memcmp((const void *) a1, (const void *) a2, sizeof(struct in6_addr)); | 294 | return memcmp(a1, a2, sizeof(struct in6_addr)); |
| 295 | } | 295 | } |
| 296 | 296 | ||
| 297 | static inline int | 297 | static inline int |
| @@ -308,7 +308,7 @@ ipv6_masked_addr_cmp(const struct in6_addr *a1, const struct in6_addr *m, | |||
| 308 | 308 | ||
| 309 | static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2) | 309 | static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2) |
| 310 | { | 310 | { |
| 311 | memcpy((void *) a1, (const void *) a2, sizeof(struct in6_addr)); | 311 | memcpy(a1, a2, sizeof(struct in6_addr)); |
| 312 | } | 312 | } |
| 313 | 313 | ||
| 314 | static inline void ipv6_addr_prefix(struct in6_addr *pfx, | 314 | static inline void ipv6_addr_prefix(struct in6_addr *pfx, |
| @@ -319,16 +319,12 @@ static inline void ipv6_addr_prefix(struct in6_addr *pfx, | |||
| 319 | int o = plen >> 3, | 319 | int o = plen >> 3, |
| 320 | b = plen & 0x7; | 320 | b = plen & 0x7; |
| 321 | 321 | ||
| 322 | memset(pfx->s6_addr, 0, sizeof(pfx->s6_addr)); | ||
| 322 | memcpy(pfx->s6_addr, addr, o); | 323 | memcpy(pfx->s6_addr, addr, o); |
| 323 | if (b != 0) { | 324 | if (b != 0) |
| 324 | pfx->s6_addr[o] = addr->s6_addr[o] & (0xff00 >> b); | 325 | pfx->s6_addr[o] = addr->s6_addr[o] & (0xff00 >> b); |
| 325 | o++; | ||
| 326 | } | ||
| 327 | if (o < 16) | ||
| 328 | memset(pfx->s6_addr + o, 0, 16 - o); | ||
| 329 | } | 326 | } |
| 330 | 327 | ||
| 331 | #ifndef __HAVE_ARCH_ADDR_SET | ||
| 332 | static inline void ipv6_addr_set(struct in6_addr *addr, | 328 | static inline void ipv6_addr_set(struct in6_addr *addr, |
| 333 | __be32 w1, __be32 w2, | 329 | __be32 w1, __be32 w2, |
| 334 | __be32 w3, __be32 w4) | 330 | __be32 w3, __be32 w4) |
| @@ -338,7 +334,6 @@ static inline void ipv6_addr_set(struct in6_addr *addr, | |||
| 338 | addr->s6_addr32[2] = w3; | 334 | addr->s6_addr32[2] = w3; |
| 339 | addr->s6_addr32[3] = w4; | 335 | addr->s6_addr32[3] = w4; |
| 340 | } | 336 | } |
| 341 | #endif | ||
| 342 | 337 | ||
| 343 | static inline int ipv6_addr_equal(const struct in6_addr *a1, | 338 | static inline int ipv6_addr_equal(const struct in6_addr *a1, |
| 344 | const struct in6_addr *a2) | 339 | const struct in6_addr *a2) |
diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h index 04d1abb72d25..f9bd11be1891 100644 --- a/include/net/iucv/af_iucv.h +++ b/include/net/iucv/af_iucv.h | |||
| @@ -28,6 +28,7 @@ enum { | |||
| 28 | IUCV_LISTEN, | 28 | IUCV_LISTEN, |
| 29 | IUCV_SEVERED, | 29 | IUCV_SEVERED, |
| 30 | IUCV_DISCONN, | 30 | IUCV_DISCONN, |
| 31 | IUCV_CLOSING, | ||
| 31 | IUCV_CLOSED | 32 | IUCV_CLOSED |
| 32 | }; | 33 | }; |
| 33 | 34 | ||
| @@ -62,6 +63,7 @@ struct iucv_sock { | |||
| 62 | struct sock *parent; | 63 | struct sock *parent; |
| 63 | struct iucv_path *path; | 64 | struct iucv_path *path; |
| 64 | struct sk_buff_head send_skb_q; | 65 | struct sk_buff_head send_skb_q; |
| 66 | struct sk_buff_head backlog_skb_q; | ||
| 65 | unsigned int send_tag; | 67 | unsigned int send_tag; |
| 66 | }; | 68 | }; |
| 67 | 69 | ||
diff --git a/include/net/sctp/command.h b/include/net/sctp/command.h index 6114c4f54b0a..f56c8d695a82 100644 --- a/include/net/sctp/command.h +++ b/include/net/sctp/command.h | |||
| @@ -100,6 +100,8 @@ typedef enum { | |||
| 100 | SCTP_CMD_T3_RTX_TIMERS_STOP, /* Stops T3-rtx pending timers */ | 100 | SCTP_CMD_T3_RTX_TIMERS_STOP, /* Stops T3-rtx pending timers */ |
| 101 | SCTP_CMD_FORCE_PRIM_RETRAN, /* Forces retrans. over primary path. */ | 101 | SCTP_CMD_FORCE_PRIM_RETRAN, /* Forces retrans. over primary path. */ |
| 102 | SCTP_CMD_SET_SK_ERR, /* Set sk_err */ | 102 | SCTP_CMD_SET_SK_ERR, /* Set sk_err */ |
| 103 | SCTP_CMD_ASSOC_CHANGE, /* generate and send assoc_change event */ | ||
| 104 | SCTP_CMD_ADAPTATION_IND, /* generate and send adaptation event */ | ||
| 103 | SCTP_CMD_LAST | 105 | SCTP_CMD_LAST |
| 104 | } sctp_verb_t; | 106 | } sctp_verb_t; |
| 105 | 107 | ||
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 28af68059521..dda72bf5b9b4 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
| @@ -378,11 +378,15 @@ static inline int sctp_sysctl_jiffies_ms(ctl_table *table, int __user *name, int | |||
| 378 | 378 | ||
| 379 | int sctp_v6_init(void); | 379 | int sctp_v6_init(void); |
| 380 | void sctp_v6_exit(void); | 380 | void sctp_v6_exit(void); |
| 381 | int sctp_v6_add_protocol(void); | ||
| 382 | void sctp_v6_del_protocol(void); | ||
| 381 | 383 | ||
| 382 | #else /* #ifdef defined(CONFIG_IPV6) */ | 384 | #else /* #ifdef defined(CONFIG_IPV6) */ |
| 383 | 385 | ||
| 384 | static inline int sctp_v6_init(void) { return 0; } | 386 | static inline int sctp_v6_init(void) { return 0; } |
| 385 | static inline void sctp_v6_exit(void) { return; } | 387 | static inline void sctp_v6_exit(void) { return; } |
| 388 | static inline int sctp_v6_add_protocol(void) { return 0; } | ||
| 389 | static inline void sctp_v6_del_protocol(void) { return; } | ||
| 386 | 390 | ||
| 387 | #endif /* #if defined(CONFIG_IPV6) */ | 391 | #endif /* #if defined(CONFIG_IPV6) */ |
| 388 | 392 | ||
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 7b4fff93ba7f..5e81984b8478 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
| @@ -1857,6 +1857,7 @@ int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *, | |||
| 1857 | int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *, | 1857 | int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *, |
| 1858 | struct sctp_cookie*, | 1858 | struct sctp_cookie*, |
| 1859 | gfp_t gfp); | 1859 | gfp_t gfp); |
| 1860 | int sctp_assoc_set_id(struct sctp_association *, gfp_t); | ||
| 1860 | 1861 | ||
| 1861 | int sctp_cmp_addr_exact(const union sctp_addr *ss1, | 1862 | int sctp_cmp_addr_exact(const union sctp_addr *ss1, |
| 1862 | const union sctp_addr *ss2); | 1863 | const union sctp_addr *ss2); |
diff --git a/include/net/tcp.h b/include/net/tcp.h index ef8f9d4dae85..e22b4f0305a3 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
| @@ -736,7 +736,8 @@ static inline __u32 tcp_current_ssthresh(const struct sock *sk) | |||
| 736 | 736 | ||
| 737 | static inline void tcp_sync_left_out(struct tcp_sock *tp) | 737 | static inline void tcp_sync_left_out(struct tcp_sock *tp) |
| 738 | { | 738 | { |
| 739 | BUG_ON(tp->sacked_out + tp->lost_out > tp->packets_out); | 739 | BUG_ON(tp->rx_opt.sack_ok && |
| 740 | (tp->sacked_out + tp->lost_out > tp->packets_out)); | ||
| 740 | tp->left_out = tp->sacked_out + tp->lost_out; | 741 | tp->left_out = tp->sacked_out + tp->lost_out; |
| 741 | } | 742 | } |
| 742 | 743 | ||
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 66c2d3eec03c..39ef925d39dd 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
| @@ -416,25 +416,6 @@ struct xfrm_audit | |||
| 416 | u32 secid; | 416 | u32 secid; |
| 417 | }; | 417 | }; |
| 418 | 418 | ||
| 419 | /* SAD metadata, add more later */ | ||
| 420 | struct xfrm_sadinfo | ||
| 421 | { | ||
| 422 | u32 sadhcnt; /* current hash bkts */ | ||
| 423 | u32 sadhmcnt; /* max allowed hash bkts */ | ||
| 424 | u32 sadcnt; /* current running count */ | ||
| 425 | }; | ||
| 426 | |||
| 427 | struct xfrm_spdinfo | ||
| 428 | { | ||
| 429 | u32 incnt; | ||
| 430 | u32 outcnt; | ||
| 431 | u32 fwdcnt; | ||
| 432 | u32 inscnt; | ||
| 433 | u32 outscnt; | ||
| 434 | u32 fwdscnt; | ||
| 435 | u32 spdhcnt; | ||
| 436 | u32 spdhmcnt; | ||
| 437 | }; | ||
| 438 | #ifdef CONFIG_AUDITSYSCALL | 419 | #ifdef CONFIG_AUDITSYSCALL |
| 439 | extern void xfrm_audit_log(uid_t auid, u32 secid, int type, int result, | 420 | extern void xfrm_audit_log(uid_t auid, u32 secid, int type, int result, |
| 440 | struct xfrm_policy *xp, struct xfrm_state *x); | 421 | struct xfrm_policy *xp, struct xfrm_state *x); |
| @@ -964,11 +945,29 @@ static inline int xfrm_state_sort(struct xfrm_state **dst, struct xfrm_state **s | |||
| 964 | return -ENOSYS; | 945 | return -ENOSYS; |
| 965 | } | 946 | } |
| 966 | #endif | 947 | #endif |
| 948 | |||
| 949 | struct xfrmk_sadinfo { | ||
| 950 | u32 sadhcnt; /* current hash bkts */ | ||
| 951 | u32 sadhmcnt; /* max allowed hash bkts */ | ||
| 952 | u32 sadcnt; /* current running count */ | ||
| 953 | }; | ||
| 954 | |||
| 955 | struct xfrmk_spdinfo { | ||
| 956 | u32 incnt; | ||
| 957 | u32 outcnt; | ||
| 958 | u32 fwdcnt; | ||
| 959 | u32 inscnt; | ||
| 960 | u32 outscnt; | ||
| 961 | u32 fwdscnt; | ||
| 962 | u32 spdhcnt; | ||
| 963 | u32 spdhmcnt; | ||
| 964 | }; | ||
| 965 | |||
| 967 | extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); | 966 | extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); |
| 968 | extern int xfrm_state_delete(struct xfrm_state *x); | 967 | extern int xfrm_state_delete(struct xfrm_state *x); |
| 969 | extern void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info); | 968 | extern void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info); |
| 970 | extern void xfrm_sad_getinfo(struct xfrm_sadinfo *si); | 969 | extern void xfrm_sad_getinfo(struct xfrmk_sadinfo *si); |
| 971 | extern void xfrm_spd_getinfo(struct xfrm_spdinfo *si); | 970 | extern void xfrm_spd_getinfo(struct xfrmk_spdinfo *si); |
| 972 | extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq); | 971 | extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq); |
| 973 | extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq); | 972 | extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq); |
| 974 | extern void xfrm_replay_notify(struct xfrm_state *x, int event); | 973 | extern void xfrm_replay_notify(struct xfrm_state *x, int event); |
