net: properly release sk_frag.page
authorEric Dumazet <edumazet@google.com>
Wed, 15 Mar 2017 20:21:28 +0000 (13:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Mar 2017 22:37:45 +0000 (15:37 -0700)
commit22a0e18eac7a9e986fec76c60fa4a2926d1291e2
tree3fc462095b2f36f16a10c583fa51f6682680f913
parent622c36f143fc9566ba49d7cec994c2da1182d9e2
net: properly release sk_frag.page

I mistakenly added the code to release sk->sk_frag in
sk_common_release() instead of sk_destruct()

TCP sockets using sk->sk_allocation == GFP_ATOMIC do no call
sk_common_release() at close time, thus leaking one (order-3) page.

iSCSI is using such sockets.

Fixes: 5640f7685831 ("net: use a per task frag allocator")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/sock.c