Merge tag 'kbuild-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
[linux-block.git] / net / core / net_namespace.c
index 0ec2f5906a27c7f930e832835682d69a32e3c8e1..6b9f19122ec1aef67e4a91d3e19ea8b28ad33b6d 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/user_namespace.h>
 #include <linux/net_namespace.h>
 #include <linux/sched/task.h>
+#include <linux/sched/mm.h>
 #include <linux/uidgid.h>
 #include <linux/cookie.h>
 
@@ -1143,7 +1144,13 @@ static int __register_pernet_operations(struct list_head *list,
                 * setup_net() and cleanup_net() are not possible.
                 */
                for_each_net(net) {
+                       struct mem_cgroup *old, *memcg;
+
+                       memcg = mem_cgroup_or_root(get_mem_cgroup_from_obj(net));
+                       old = set_active_memcg(memcg);
                        error = ops_init(ops, net);
+                       set_active_memcg(old);
+                       mem_cgroup_put(memcg);
                        if (error)
                                goto out_undo;
                        list_add_tail(&net->exit_list, &net_exit_list);