diff --git a/arch/arm/boot/dts/broadcom/bcm2708-rpi-bt.dtsi b/arch/arm/boot/dts/broadcom/bcm2708-rpi-bt.dtsi index ef7f9ca8242591..87a6c00bd0562f 100644 --- a/arch/arm/boot/dts/broadcom/bcm2708-rpi-bt.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm2708-rpi-bt.dtsi @@ -24,7 +24,7 @@ / { chosen { - bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0"; + bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 cgroup_disable=memory"; }; aliases { diff --git a/arch/arm/boot/dts/broadcom/bcm270x.dtsi b/arch/arm/boot/dts/broadcom/bcm270x.dtsi index c318080eb8833b..e077bd2711230c 100644 --- a/arch/arm/boot/dts/broadcom/bcm270x.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm270x.dtsi @@ -4,7 +4,7 @@ / { chosen: chosen { // Disable audio by default - bootargs = "coherent_pool=1M snd_bcm2835.enable_headphones=0"; + bootargs = "coherent_pool=1M snd_bcm2835.enable_headphones=0 cgroup_disable=memory"; stdout-path = "serial0:115200n8"; }; diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts index e187886df261ed..71d228414b7606 100644 --- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts +++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts @@ -148,7 +148,7 @@ / { chosen { - bootargs = "coherent_pool=1M snd_bcm2835.enable_headphones=0 numa_policy=interleave"; + bootargs = "coherent_pool=1M snd_bcm2835.enable_headphones=0 cgroup_disable=memory numa_policy=interleave"; }; aliases { diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi index 1757bb4c7a2446..eb3abcdbae6ba6 100644 --- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi @@ -3,7 +3,7 @@ / { chosen { - bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 numa_policy=interleave"; + bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 cgroup_disable=memory numa_policy=interleave"; }; __overrides__ { diff --git a/arch/arm/boot/dts/broadcom/bcm271x-rpi-bt.dtsi b/arch/arm/boot/dts/broadcom/bcm271x-rpi-bt.dtsi index ba389fa3c43afd..c77e280ccd163e 100644 --- a/arch/arm/boot/dts/broadcom/bcm271x-rpi-bt.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm271x-rpi-bt.dtsi @@ -24,7 +24,7 @@ / { chosen { - bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0"; + bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 cgroup_disable=memory"; }; aliases { diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi index a6f71a24e987a0..25e37b99b05496 100644 --- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi +++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi @@ -99,7 +99,7 @@ / { chosen: chosen { - bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe numa_policy=interleave iommu_dma_numa_policy=interleave system_heap.max_order=0"; + bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe cgroup_disable=memory numa_policy=interleave iommu_dma_numa_policy=interleave system_heap.max_order=0"; stdout-path = "serial10:115200n8"; }; diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index 9caf570bb6c545..e6f64a7ec10312 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -6060,9 +6060,6 @@ int __init cgroup_init_early(void) return 0; } -static u16 cgroup_enable_mask __initdata; -static int __init cgroup_disable(char *str); - /** * cgroup_init - cgroup initialization * @@ -6096,12 +6093,6 @@ int __init cgroup_init(void) cgroup_unlock(); - /* - * Apply an implicit disable, knowing that an explicit enable will - * prevent if from doing anything. - */ - cgroup_disable("memory"); - for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = @@ -6742,10 +6733,6 @@ static int __init cgroup_disable(char *str) strcmp(token, ss->legacy_name)) continue; - /* An explicit cgroup_enable overrides a disable */ - if (cgroup_enable_mask & (1 << i)) - continue; - static_branch_disable(cgroup_subsys_enabled_key[i]); pr_info("Disabling %s control group subsystem\n", ss->name); @@ -6779,7 +6766,7 @@ static int __init cgroup_enable(char *str) strcmp(token, ss->legacy_name)) continue; - cgroup_enable_mask |= 1 << i; + cgroup_feature_disable_mask &= ~(1 << i); static_branch_enable(cgroup_subsys_enabled_key[i]); pr_info("Enabling %s control group subsystem\n", ss->name);