diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-26 23:09:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-26 23:09:07 -0500 |
commit | 8c27eba54970c6ebbb408186e5baa2274435e869 (patch) | |
tree | 47348cfc4c008692eee4a9174fcc6d8b20f5e647 /include | |
parent | 8912858bcb9e314549a4abc15db6b5841a96fa2c (diff) | |
parent | 5dba4797115c8fa05c1a4d12927a6ae0b33ffc41 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/net-2.6: (41 commits)
[XFRM]: Fix leak of expired xfrm_states
[ATM]: [he] initialize lock and tasklet earlier
[IPV4]: Remove bogus ifdef mess in arp_process
[SKBUFF]: Free old skb properly in skb_morph
[IPV4]: Fix memory leak in inet_hashtables.h when NUMA is on
[IPSEC]: Temporarily remove locks around copying of non-atomic fields
[TCP] MTUprobe: Cleanup send queue check (no need to loop)
[TCP]: MTUprobe: receiver window & data available checks fixed
[MAINTAINERS]: tlan list is subscribers-only
[SUNRPC]: Remove SPIN_LOCK_UNLOCKED
[SUNRPC]: Make xprtsock.c:xs_setup_{udp,tcp}() static
[PFKEY]: Sending an SADB_GET responds with an SADB_GET
[IRDA]: Compilation for CONFIG_INET=n case
[IPVS]: Fix compiler warning about unused register_ip_vs_protocol
[ARP]: Fix arp reply when sender ip 0
[IPV6] TCPMD5: Fix deleting key operation.
[IPV6] TCPMD5: Check return value of tcp_alloc_md5sig_pool().
[IPV4] TCPMD5: Use memmove() instead of memcpy() because we have overlaps.
[IPV4] TCPMD5: Omit redundant NULL check for kfree() argument.
ieee80211: Stop net_ratelimit/IEEE80211_DEBUG_DROP log pollution
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/skbuff.h | 1 | ||||
-rw-r--r-- | include/net/ieee80211.h | 8 | ||||
-rw-r--r-- | include/net/inet_hashtables.h | 3 | ||||
-rw-r--r-- | include/net/ip_vs.h | 34 | ||||
-rw-r--r-- | include/net/sock.h | 3 | ||||
-rw-r--r-- | include/net/tcp.h | 3 |
6 files changed, 15 insertions, 37 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 91140fe8c119..bddd50bd6878 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -356,7 +356,6 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size, | |||
356 | return __alloc_skb(size, priority, 1, -1); | 356 | return __alloc_skb(size, priority, 1, -1); |
357 | } | 357 | } |
358 | 358 | ||
359 | extern void kfree_skbmem(struct sk_buff *skb); | ||
360 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); | 359 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); |
361 | extern struct sk_buff *skb_clone(struct sk_buff *skb, | 360 | extern struct sk_buff *skb_clone(struct sk_buff *skb, |
362 | gfp_t priority); | 361 | gfp_t priority); |
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index 164d13211165..d8ae48439f12 100644 --- a/include/net/ieee80211.h +++ b/include/net/ieee80211.h | |||
@@ -115,8 +115,16 @@ extern u32 ieee80211_debug_level; | |||
115 | do { if (ieee80211_debug_level & (level)) \ | 115 | do { if (ieee80211_debug_level & (level)) \ |
116 | printk(KERN_DEBUG "ieee80211: %c %s " fmt, \ | 116 | printk(KERN_DEBUG "ieee80211: %c %s " fmt, \ |
117 | in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0) | 117 | in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0) |
118 | static inline bool ieee80211_ratelimit_debug(u32 level) | ||
119 | { | ||
120 | return (ieee80211_debug_level & level) && net_ratelimit(); | ||
121 | } | ||
118 | #else | 122 | #else |
119 | #define IEEE80211_DEBUG(level, fmt, args...) do {} while (0) | 123 | #define IEEE80211_DEBUG(level, fmt, args...) do {} while (0) |
124 | static inline bool ieee80211_ratelimit_debug(u32 level) | ||
125 | { | ||
126 | return false; | ||
127 | } | ||
120 | #endif /* CONFIG_IEEE80211_DEBUG */ | 128 | #endif /* CONFIG_IEEE80211_DEBUG */ |
121 | 129 | ||
122 | /* escape_essid() is intended to be used in debug (and possibly error) | 130 | /* escape_essid() is intended to be used in debug (and possibly error) |
diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h index 469216d93663..37f6cb112127 100644 --- a/include/net/inet_hashtables.h +++ b/include/net/inet_hashtables.h | |||
@@ -186,9 +186,8 @@ static inline void inet_ehash_locks_free(struct inet_hashinfo *hashinfo) | |||
186 | if (size > PAGE_SIZE) | 186 | if (size > PAGE_SIZE) |
187 | vfree(hashinfo->ehash_locks); | 187 | vfree(hashinfo->ehash_locks); |
188 | else | 188 | else |
189 | #else | ||
190 | kfree(hashinfo->ehash_locks); | ||
191 | #endif | 189 | #endif |
190 | kfree(hashinfo->ehash_locks); | ||
192 | hashinfo->ehash_locks = NULL; | 191 | hashinfo->ehash_locks = NULL; |
193 | } | 192 | } |
194 | } | 193 | } |
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h index 67ea2c0c0ab7..8a7d59be8a0d 100644 --- a/include/net/ip_vs.h +++ b/include/net/ip_vs.h | |||
@@ -328,40 +328,6 @@ extern int ip_vs_get_debug_level(void); | |||
328 | #define FTPDATA __constant_htons(20) | 328 | #define FTPDATA __constant_htons(20) |
329 | 329 | ||
330 | /* | 330 | /* |
331 | * IPVS sysctl variables under the /proc/sys/net/ipv4/vs/ | ||
332 | */ | ||
333 | #define NET_IPV4_VS 21 | ||
334 | |||
335 | enum { | ||
336 | NET_IPV4_VS_DEBUG_LEVEL=1, | ||
337 | NET_IPV4_VS_AMEMTHRESH=2, | ||
338 | NET_IPV4_VS_AMDROPRATE=3, | ||
339 | NET_IPV4_VS_DROP_ENTRY=4, | ||
340 | NET_IPV4_VS_DROP_PACKET=5, | ||
341 | NET_IPV4_VS_SECURE_TCP=6, | ||
342 | NET_IPV4_VS_TO_ES=7, | ||
343 | NET_IPV4_VS_TO_SS=8, | ||
344 | NET_IPV4_VS_TO_SR=9, | ||
345 | NET_IPV4_VS_TO_FW=10, | ||
346 | NET_IPV4_VS_TO_TW=11, | ||
347 | NET_IPV4_VS_TO_CL=12, | ||
348 | NET_IPV4_VS_TO_CW=13, | ||
349 | NET_IPV4_VS_TO_LA=14, | ||
350 | NET_IPV4_VS_TO_LI=15, | ||
351 | NET_IPV4_VS_TO_SA=16, | ||
352 | NET_IPV4_VS_TO_UDP=17, | ||
353 | NET_IPV4_VS_TO_ICMP=18, | ||
354 | NET_IPV4_VS_LBLC_EXPIRE=19, | ||
355 | NET_IPV4_VS_LBLCR_EXPIRE=20, | ||
356 | NET_IPV4_VS_CACHE_BYPASS=22, | ||
357 | NET_IPV4_VS_EXPIRE_NODEST_CONN=23, | ||
358 | NET_IPV4_VS_SYNC_THRESHOLD=24, | ||
359 | NET_IPV4_VS_NAT_ICMP_SEND=25, | ||
360 | NET_IPV4_VS_EXPIRE_QUIESCENT_TEMPLATE=26, | ||
361 | NET_IPV4_VS_LAST | ||
362 | }; | ||
363 | |||
364 | /* | ||
365 | * TCP State Values | 331 | * TCP State Values |
366 | */ | 332 | */ |
367 | enum { | 333 | enum { |
diff --git a/include/net/sock.h b/include/net/sock.h index 567e468d7492..67e35c7e230c 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -1236,6 +1236,9 @@ static inline struct sk_buff *sk_stream_alloc_pskb(struct sock *sk, | |||
1236 | { | 1236 | { |
1237 | struct sk_buff *skb; | 1237 | struct sk_buff *skb; |
1238 | 1238 | ||
1239 | /* The TCP header must be at least 32-bit aligned. */ | ||
1240 | size = ALIGN(size, 4); | ||
1241 | |||
1239 | skb = alloc_skb_fclone(size + sk->sk_prot->max_header, gfp); | 1242 | skb = alloc_skb_fclone(size + sk->sk_prot->max_header, gfp); |
1240 | if (skb) { | 1243 | if (skb) { |
1241 | skb->truesize += mem; | 1244 | skb->truesize += mem; |
diff --git a/include/net/tcp.h b/include/net/tcp.h index d695cea7730d..cb5b033e0e59 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -1288,6 +1288,9 @@ static inline void tcp_insert_write_queue_before(struct sk_buff *new, | |||
1288 | struct sock *sk) | 1288 | struct sock *sk) |
1289 | { | 1289 | { |
1290 | __skb_insert(new, skb->prev, skb, &sk->sk_write_queue); | 1290 | __skb_insert(new, skb->prev, skb, &sk->sk_write_queue); |
1291 | |||
1292 | if (sk->sk_send_head == skb) | ||
1293 | sk->sk_send_head = new; | ||
1291 | } | 1294 | } |
1292 | 1295 | ||
1293 | static inline void tcp_unlink_write_queue(struct sk_buff *skb, struct sock *sk) | 1296 | static inline void tcp_unlink_write_queue(struct sk_buff *skb, struct sock *sk) |