diff options
-rw-r--r-- | net/ipv4/tcp_minisocks.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index 383cb38461c5..6dddf59c1fb9 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c | |||
@@ -351,8 +351,7 @@ void tcp_time_wait(struct sock *sk, int state, int timeo) | |||
351 | * socket up. We've got bigger problems than | 351 | * socket up. We've got bigger problems than |
352 | * non-graceful socket closings. | 352 | * non-graceful socket closings. |
353 | */ | 353 | */ |
354 | if (net_ratelimit()) | 354 | LIMIT_NETDEBUG(KERN_INFO "TCP: time wait bucket table overflow\n"); |
355 | printk(KERN_INFO "TCP: time wait bucket table overflow\n"); | ||
356 | } | 355 | } |
357 | 356 | ||
358 | tcp_update_metrics(sk); | 357 | tcp_update_metrics(sk); |
@@ -667,11 +666,11 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb, | |||
667 | * newsk structure. If we fail to get memory then we | 666 | * newsk structure. If we fail to get memory then we |
668 | * end up not copying the key across. Shucks. | 667 | * end up not copying the key across. Shucks. |
669 | */ | 668 | */ |
670 | char *newkey = kmalloc(key->keylen, GFP_ATOMIC); | 669 | char *newkey = kmemdup(key->key, key->keylen, |
670 | GFP_ATOMIC); | ||
671 | if (newkey) { | 671 | if (newkey) { |
672 | if (!tcp_alloc_md5sig_pool()) | 672 | if (!tcp_alloc_md5sig_pool()) |
673 | BUG(); | 673 | BUG(); |
674 | memcpy(newkey, key->key, key->keylen); | ||
675 | tp->af_specific->md5_add(child, child, | 674 | tp->af_specific->md5_add(child, child, |
676 | newkey, | 675 | newkey, |
677 | key->keylen); | 676 | key->keylen); |