aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.davemloft.net>2004-08-06 01:21:39 -0700
committerDavid S. Miller <davem@nuts.davemloft.net>2004-08-06 01:21:39 -0700
commit12028f96423afd19867b750e909edf24a3d9111e (patch)
tree485cb2c1d6398c7deb2ff898d8147fb105be93dc /net
parent89a4a37e5f52117dc8da7fb8749a0f7f39f1c9b1 (diff)
downloadhistory-12028f96423afd19867b750e909edf24a3d9111e.tar.gz
[NET]: Move sndmsg_page destruction back into TCP for now.
Signed-off-by: David S. Miller <davem@redhat.com>
Diffstat (limited to 'net')
-rw-r--r--net/core/sock.c8
-rw-r--r--net/ipv4/tcp_ipv4.c8
2 files changed, 8 insertions, 8 deletions
diff --git a/net/core/sock.c b/net/core/sock.c
index f8688edc720148..9146be7067cc5d 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -652,14 +652,6 @@ void sk_free(struct sock *sk)
printk(KERN_DEBUG "%s: optmem leakage (%d bytes) detected.\n",
__FUNCTION__, atomic_read(&sk->sk_omem_alloc));
- /*
- * If sendmsg cached page exists, toss it.
- */
- if (sk->sk_sndmsg_page) {
- __free_page(sk->sk_sndmsg_page);
- sk->sk_sndmsg_page = NULL;
- }
-
security_sk_free(sk);
kmem_cache_free(sk->sk_slab, sk);
module_put(owner);
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index e193507ea3f9aa..2cfd74fbf566bb 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -2113,6 +2113,14 @@ int tcp_v4_destroy_sock(struct sock *sk)
if (tp->bind_hash)
tcp_put_port(sk);
+ /*
+ * If sendmsg cached page exists, toss it.
+ */
+ if (sk->sk_sndmsg_page) {
+ __free_page(sk->sk_sndmsg_page);
+ sk->sk_sndmsg_page = NULL;
+ }
+
atomic_dec(&tcp_sockets_allocated);
return 0;