set CONFIG_LOCALVERSION_AUTO
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / mm / memcontrol.c
index 6bc20990c12edb204075d33cbdf14518039361b3..4400f9b941d73951fa602ba73fa3eb6536a24407 100644 (file)
@@ -5805,16 +5805,17 @@ static void mem_cgroup_usage_unregister_event(struct cgroup *cgrp,
 swap_buffers:
        /* Swap primary and spare array */
        thresholds->spare = thresholds->primary;
-       /* If all events are unregistered, free the spare array */
-       if (!new) {
-               kfree(thresholds->spare);
-               thresholds->spare = NULL;
-       }
 
        rcu_assign_pointer(thresholds->primary, new);
 
        /* To be sure that nobody uses thresholds */
        synchronize_rcu();
+
+       /* If all events are unregistered, free the spare array */
+       if (!new) {
+               kfree(thresholds->spare);
+               thresholds->spare = NULL;
+       }
 unlock:
        mutex_unlock(&memcg->thresholds_lock);
 }