*/
 int __sk_mem_raise_allocated(struct sock *sk, int size, int amt, int kind)
 {
-       struct mem_cgroup *memcg = mem_cgroup_sockets_enabled ? sk->sk_memcg : NULL;
        struct proto *prot = sk->sk_prot;
-       bool charged = true;
+       struct mem_cgroup *memcg = NULL;
+       bool charged = false;
        long allocated;
 
        sk_memory_allocated_add(sk, amt);
        allocated = sk_memory_allocated(sk);
 
-       if (memcg) {
+       if (mem_cgroup_sockets_enabled && sk->sk_memcg) {
+               memcg = sk->sk_memcg;
                charged = mem_cgroup_charge_skmem(memcg, amt, gfp_memcg_charge());
                if (!charged)
                        goto suppress_allocation;
 
        sk_memory_allocated_sub(sk, amt);
 
-       if (memcg && charged)
+       if (charged)
                mem_cgroup_uncharge_skmem(memcg, amt);
 
        return 0;