The memory accounting is broken in such exceptional code
path, and after commit 
4890b686f408 ("net: keep sk->sk_forward_alloc
as small as possible") we can't find much help there.
Drop the broken code.
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 
 
        amt = sk_mem_pages(size);
        amount = amt << PAGE_SHIFT;
-       msk->rmem_fwd_alloc += amount;
-       if (!__sk_mem_raise_allocated(sk, size, amt, SK_MEM_RECV)) {
-               if (ssk->sk_forward_alloc < amount) {
-                       msk->rmem_fwd_alloc -= amount;
-                       return false;
-               }
+       if (!__sk_mem_raise_allocated(sk, size, amt, SK_MEM_RECV))
+               return false;
 
-               ssk->sk_forward_alloc -= amount;
-       }
+       msk->rmem_fwd_alloc += amount;
        return true;
 }