linux: Do not allow slab caches to be merged

Message ID 8bb7718c-1f3b-1882-c081-4b3d31dcda9f@ipfire.org
State Accepted
Commit 26a91db187573b27b8da67121310ac0f7a1e874e
Headers
Series linux: Do not allow slab caches to be merged |

Commit Message

Peter Müller Aug. 1, 2022, 5:39 p.m. UTC
  From the kernel documentation:

> For reduced kernel memory fragmentation, slab caches can be
> merged when they share the same size and other characteristics.
> This carries a risk of kernel heap overflows being able to
> overwrite objects from merged caches (and more easily control
> cache layout), which makes such heap attacks easier to exploit
> by attackers. By keeping caches unmerged, these kinds of exploits
> can usually only damage objects in the same cache. [...]

Thus, it is more sane to leave slab merging disabled. KSPP and ClipOS
recommend this as well.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
---
 config/kernel/kernel.config.aarch64-ipfire | 2 +-
 config/kernel/kernel.config.armv6l-ipfire  | 2 +-
 config/kernel/kernel.config.riscv64-ipfire | 2 +-
 config/kernel/kernel.config.x86_64-ipfire  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
  

Comments

Michael Tremer Aug. 1, 2022, 8:19 p.m. UTC | #1
And there are no downsides to this whatsoever?

> On 1 Aug 2022, at 18:39, Peter Müller <peter.mueller@ipfire.org> wrote:
> 
> From the kernel documentation:
> 
>> For reduced kernel memory fragmentation, slab caches can be
>> merged when they share the same size and other characteristics.
>> This carries a risk of kernel heap overflows being able to
>> overwrite objects from merged caches (and more easily control
>> cache layout), which makes such heap attacks easier to exploit
>> by attackers. By keeping caches unmerged, these kinds of exploits
>> can usually only damage objects in the same cache. [...]
> 
> Thus, it is more sane to leave slab merging disabled. KSPP and ClipOS
> recommend this as well.
> 
> Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
> ---
> config/kernel/kernel.config.aarch64-ipfire | 2 +-
> config/kernel/kernel.config.armv6l-ipfire  | 2 +-
> config/kernel/kernel.config.riscv64-ipfire | 2 +-
> config/kernel/kernel.config.x86_64-ipfire  | 2 +-
> 4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire
> index 9232335ff..023c3d5aa 100644
> --- a/config/kernel/kernel.config.aarch64-ipfire
> +++ b/config/kernel/kernel.config.aarch64-ipfire
> @@ -247,7 +247,7 @@ CONFIG_VM_EVENT_COUNTERS=y
> # CONFIG_SLAB is not set
> CONFIG_SLUB=y
> # CONFIG_SLOB is not set
> -CONFIG_SLAB_MERGE_DEFAULT=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
> CONFIG_SLAB_FREELIST_RANDOM=y
> CONFIG_SLAB_FREELIST_HARDENED=y
> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
> diff --git a/config/kernel/kernel.config.armv6l-ipfire b/config/kernel/kernel.config.armv6l-ipfire
> index dc0aee51b..b4587826e 100644
> --- a/config/kernel/kernel.config.armv6l-ipfire
> +++ b/config/kernel/kernel.config.armv6l-ipfire
> @@ -250,7 +250,7 @@ CONFIG_VM_EVENT_COUNTERS=y
> # CONFIG_SLAB is not set
> CONFIG_SLUB=y
> # CONFIG_SLOB is not set
> -CONFIG_SLAB_MERGE_DEFAULT=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
> CONFIG_SLAB_FREELIST_RANDOM=y
> CONFIG_SLAB_FREELIST_HARDENED=y
> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
> diff --git a/config/kernel/kernel.config.riscv64-ipfire b/config/kernel/kernel.config.riscv64-ipfire
> index 0801f4389..fb7cda4dd 100644
> --- a/config/kernel/kernel.config.riscv64-ipfire
> +++ b/config/kernel/kernel.config.riscv64-ipfire
> @@ -230,7 +230,7 @@ CONFIG_VM_EVENT_COUNTERS=y
> # CONFIG_SLAB is not set
> CONFIG_SLUB=y
> # CONFIG_SLOB is not set
> -CONFIG_SLAB_MERGE_DEFAULT=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
> CONFIG_SLAB_FREELIST_RANDOM=y
> CONFIG_SLAB_FREELIST_HARDENED=y
> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
> diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire
> index 40975b5fc..d3792cbb7 100644
> --- a/config/kernel/kernel.config.x86_64-ipfire
> +++ b/config/kernel/kernel.config.x86_64-ipfire
> @@ -270,7 +270,7 @@ CONFIG_VM_EVENT_COUNTERS=y
> # CONFIG_SLAB is not set
> CONFIG_SLUB=y
> # CONFIG_SLOB is not set
> -CONFIG_SLAB_MERGE_DEFAULT=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
> CONFIG_SLAB_FREELIST_RANDOM=y
> CONFIG_SLAB_FREELIST_HARDENED=y
> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
> -- 
> 2.35.3
  
Peter Müller Aug. 2, 2022, 9:50 a.m. UTC | #2
Hello Michael,

aside from increased kernel memory fragmentation, none I am aware of.

Thanks, and best regards,
Peter Müller


> And there are no downsides to this whatsoever?
> 
>> On 1 Aug 2022, at 18:39, Peter Müller <peter.mueller@ipfire.org> wrote:
>>
>> From the kernel documentation:
>>
>>> For reduced kernel memory fragmentation, slab caches can be
>>> merged when they share the same size and other characteristics.
>>> This carries a risk of kernel heap overflows being able to
>>> overwrite objects from merged caches (and more easily control
>>> cache layout), which makes such heap attacks easier to exploit
>>> by attackers. By keeping caches unmerged, these kinds of exploits
>>> can usually only damage objects in the same cache. [...]
>>
>> Thus, it is more sane to leave slab merging disabled. KSPP and ClipOS
>> recommend this as well.
>>
>> Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
>> ---
>> config/kernel/kernel.config.aarch64-ipfire | 2 +-
>> config/kernel/kernel.config.armv6l-ipfire  | 2 +-
>> config/kernel/kernel.config.riscv64-ipfire | 2 +-
>> config/kernel/kernel.config.x86_64-ipfire  | 2 +-
>> 4 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire
>> index 9232335ff..023c3d5aa 100644
>> --- a/config/kernel/kernel.config.aarch64-ipfire
>> +++ b/config/kernel/kernel.config.aarch64-ipfire
>> @@ -247,7 +247,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>> # CONFIG_SLAB is not set
>> CONFIG_SLUB=y
>> # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>> CONFIG_SLAB_FREELIST_RANDOM=y
>> CONFIG_SLAB_FREELIST_HARDENED=y
>> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> diff --git a/config/kernel/kernel.config.armv6l-ipfire b/config/kernel/kernel.config.armv6l-ipfire
>> index dc0aee51b..b4587826e 100644
>> --- a/config/kernel/kernel.config.armv6l-ipfire
>> +++ b/config/kernel/kernel.config.armv6l-ipfire
>> @@ -250,7 +250,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>> # CONFIG_SLAB is not set
>> CONFIG_SLUB=y
>> # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>> CONFIG_SLAB_FREELIST_RANDOM=y
>> CONFIG_SLAB_FREELIST_HARDENED=y
>> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> diff --git a/config/kernel/kernel.config.riscv64-ipfire b/config/kernel/kernel.config.riscv64-ipfire
>> index 0801f4389..fb7cda4dd 100644
>> --- a/config/kernel/kernel.config.riscv64-ipfire
>> +++ b/config/kernel/kernel.config.riscv64-ipfire
>> @@ -230,7 +230,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>> # CONFIG_SLAB is not set
>> CONFIG_SLUB=y
>> # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>> CONFIG_SLAB_FREELIST_RANDOM=y
>> CONFIG_SLAB_FREELIST_HARDENED=y
>> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire
>> index 40975b5fc..d3792cbb7 100644
>> --- a/config/kernel/kernel.config.x86_64-ipfire
>> +++ b/config/kernel/kernel.config.x86_64-ipfire
>> @@ -270,7 +270,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>> # CONFIG_SLAB is not set
>> CONFIG_SLUB=y
>> # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>> CONFIG_SLAB_FREELIST_RANDOM=y
>> CONFIG_SLAB_FREELIST_HARDENED=y
>> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> -- 
>> 2.35.3
>
  
Peter Müller Aug. 6, 2022, 8 a.m. UTC | #3
Hello *,

any vetoes / endorsements of this? :-)

Thanks, and best regards,
Peter Müller

> From the kernel documentation:
> 
>> For reduced kernel memory fragmentation, slab caches can be
>> merged when they share the same size and other characteristics.
>> This carries a risk of kernel heap overflows being able to
>> overwrite objects from merged caches (and more easily control
>> cache layout), which makes such heap attacks easier to exploit
>> by attackers. By keeping caches unmerged, these kinds of exploits
>> can usually only damage objects in the same cache. [...]
> 
> Thus, it is more sane to leave slab merging disabled. KSPP and ClipOS
> recommend this as well.
> 
> Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
> ---
>  config/kernel/kernel.config.aarch64-ipfire | 2 +-
>  config/kernel/kernel.config.armv6l-ipfire  | 2 +-
>  config/kernel/kernel.config.riscv64-ipfire | 2 +-
>  config/kernel/kernel.config.x86_64-ipfire  | 2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire
> index 9232335ff..023c3d5aa 100644
> --- a/config/kernel/kernel.config.aarch64-ipfire
> +++ b/config/kernel/kernel.config.aarch64-ipfire
> @@ -247,7 +247,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>  # CONFIG_SLAB is not set
>  CONFIG_SLUB=y
>  # CONFIG_SLOB is not set
> -CONFIG_SLAB_MERGE_DEFAULT=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>  CONFIG_SLAB_FREELIST_RANDOM=y
>  CONFIG_SLAB_FREELIST_HARDENED=y
>  CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
> diff --git a/config/kernel/kernel.config.armv6l-ipfire b/config/kernel/kernel.config.armv6l-ipfire
> index dc0aee51b..b4587826e 100644
> --- a/config/kernel/kernel.config.armv6l-ipfire
> +++ b/config/kernel/kernel.config.armv6l-ipfire
> @@ -250,7 +250,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>  # CONFIG_SLAB is not set
>  CONFIG_SLUB=y
>  # CONFIG_SLOB is not set
> -CONFIG_SLAB_MERGE_DEFAULT=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>  CONFIG_SLAB_FREELIST_RANDOM=y
>  CONFIG_SLAB_FREELIST_HARDENED=y
>  CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
> diff --git a/config/kernel/kernel.config.riscv64-ipfire b/config/kernel/kernel.config.riscv64-ipfire
> index 0801f4389..fb7cda4dd 100644
> --- a/config/kernel/kernel.config.riscv64-ipfire
> +++ b/config/kernel/kernel.config.riscv64-ipfire
> @@ -230,7 +230,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>  # CONFIG_SLAB is not set
>  CONFIG_SLUB=y
>  # CONFIG_SLOB is not set
> -CONFIG_SLAB_MERGE_DEFAULT=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>  CONFIG_SLAB_FREELIST_RANDOM=y
>  CONFIG_SLAB_FREELIST_HARDENED=y
>  CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
> diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire
> index 40975b5fc..d3792cbb7 100644
> --- a/config/kernel/kernel.config.x86_64-ipfire
> +++ b/config/kernel/kernel.config.x86_64-ipfire
> @@ -270,7 +270,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>  # CONFIG_SLAB is not set
>  CONFIG_SLUB=y
>  # CONFIG_SLOB is not set
> -CONFIG_SLAB_MERGE_DEFAULT=y
> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>  CONFIG_SLAB_FREELIST_RANDOM=y
>  CONFIG_SLAB_FREELIST_HARDENED=y
>  CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
  
Paul Simmons Aug. 6, 2022, 11:41 a.m. UTC | #4
On 8/6/22 03:00, Peter Müller wrote:
> Hello *,
>
> any vetoes / endorsements of this? :-)
>
> Thanks, and best regards,
> Peter Müller
>
>>  From the kernel documentation:
>>
>>> For reduced kernel memory fragmentation, slab caches can be
>>> merged when they share the same size and other characteristics.
>>> This carries a risk of kernel heap overflows being able to
>>> overwrite objects from merged caches (and more easily control
>>> cache layout), which makes such heap attacks easier to exploit
>>> by attackers. By keeping caches unmerged, these kinds of exploits
>>> can usually only damage objects in the same cache. [...]
>> Thus, it is more sane to leave slab merging disabled. KSPP and ClipOS
>> recommend this as well.
>>
>> Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
>> ---
>>   config/kernel/kernel.config.aarch64-ipfire | 2 +-
>>   config/kernel/kernel.config.armv6l-ipfire  | 2 +-
>>   config/kernel/kernel.config.riscv64-ipfire | 2 +-
>>   config/kernel/kernel.config.x86_64-ipfire  | 2 +-
>>   4 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire
>> index 9232335ff..023c3d5aa 100644
>> --- a/config/kernel/kernel.config.aarch64-ipfire
>> +++ b/config/kernel/kernel.config.aarch64-ipfire
>> @@ -247,7 +247,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>>   # CONFIG_SLAB is not set
>>   CONFIG_SLUB=y
>>   # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>>   CONFIG_SLAB_FREELIST_RANDOM=y
>>   CONFIG_SLAB_FREELIST_HARDENED=y
>>   CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> diff --git a/config/kernel/kernel.config.armv6l-ipfire b/config/kernel/kernel.config.armv6l-ipfire
>> index dc0aee51b..b4587826e 100644
>> --- a/config/kernel/kernel.config.armv6l-ipfire
>> +++ b/config/kernel/kernel.config.armv6l-ipfire
>> @@ -250,7 +250,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>>   # CONFIG_SLAB is not set
>>   CONFIG_SLUB=y
>>   # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>>   CONFIG_SLAB_FREELIST_RANDOM=y
>>   CONFIG_SLAB_FREELIST_HARDENED=y
>>   CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> diff --git a/config/kernel/kernel.config.riscv64-ipfire b/config/kernel/kernel.config.riscv64-ipfire
>> index 0801f4389..fb7cda4dd 100644
>> --- a/config/kernel/kernel.config.riscv64-ipfire
>> +++ b/config/kernel/kernel.config.riscv64-ipfire
>> @@ -230,7 +230,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>>   # CONFIG_SLAB is not set
>>   CONFIG_SLUB=y
>>   # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>>   CONFIG_SLAB_FREELIST_RANDOM=y
>>   CONFIG_SLAB_FREELIST_HARDENED=y
>>   CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire
>> index 40975b5fc..d3792cbb7 100644
>> --- a/config/kernel/kernel.config.x86_64-ipfire
>> +++ b/config/kernel/kernel.config.x86_64-ipfire
>> @@ -270,7 +270,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>>   # CONFIG_SLAB is not set
>>   CONFIG_SLUB=y
>>   # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>>   CONFIG_SLAB_FREELIST_RANDOM=y
>>   CONFIG_SLAB_FREELIST_HARDENED=y
>>   CONFIG_SHUFFLE_PAGE_ALLOCATOR=y

I have no expertise.  I would defer to the opinion expressed in the 
documentation.
  
Michael Tremer Aug. 6, 2022, 12:05 p.m. UTC | #5
Hello,

Yes, please turn it on. It will protect other processes from being exploited by an attacker who gained access to the system.

Acked-by: Michael Tremer <michael.tremer@ipfire.org>

-Michael

> On 6 Aug 2022, at 09:00, Peter Müller <peter.mueller@ipfire.org> wrote:
> 
> Hello *,
> 
> any vetoes / endorsements of this? :-)
> 
> Thanks, and best regards,
> Peter Müller
> 
>> From the kernel documentation:
>> 
>>> For reduced kernel memory fragmentation, slab caches can be
>>> merged when they share the same size and other characteristics.
>>> This carries a risk of kernel heap overflows being able to
>>> overwrite objects from merged caches (and more easily control
>>> cache layout), which makes such heap attacks easier to exploit
>>> by attackers. By keeping caches unmerged, these kinds of exploits
>>> can usually only damage objects in the same cache. [...]
>> 
>> Thus, it is more sane to leave slab merging disabled. KSPP and ClipOS
>> recommend this as well.
>> 
>> Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
>> ---
>> config/kernel/kernel.config.aarch64-ipfire | 2 +-
>> config/kernel/kernel.config.armv6l-ipfire  | 2 +-
>> config/kernel/kernel.config.riscv64-ipfire | 2 +-
>> config/kernel/kernel.config.x86_64-ipfire  | 2 +-
>> 4 files changed, 4 insertions(+), 4 deletions(-)
>> 
>> diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire
>> index 9232335ff..023c3d5aa 100644
>> --- a/config/kernel/kernel.config.aarch64-ipfire
>> +++ b/config/kernel/kernel.config.aarch64-ipfire
>> @@ -247,7 +247,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>> # CONFIG_SLAB is not set
>> CONFIG_SLUB=y
>> # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>> CONFIG_SLAB_FREELIST_RANDOM=y
>> CONFIG_SLAB_FREELIST_HARDENED=y
>> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> diff --git a/config/kernel/kernel.config.armv6l-ipfire b/config/kernel/kernel.config.armv6l-ipfire
>> index dc0aee51b..b4587826e 100644
>> --- a/config/kernel/kernel.config.armv6l-ipfire
>> +++ b/config/kernel/kernel.config.armv6l-ipfire
>> @@ -250,7 +250,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>> # CONFIG_SLAB is not set
>> CONFIG_SLUB=y
>> # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>> CONFIG_SLAB_FREELIST_RANDOM=y
>> CONFIG_SLAB_FREELIST_HARDENED=y
>> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> diff --git a/config/kernel/kernel.config.riscv64-ipfire b/config/kernel/kernel.config.riscv64-ipfire
>> index 0801f4389..fb7cda4dd 100644
>> --- a/config/kernel/kernel.config.riscv64-ipfire
>> +++ b/config/kernel/kernel.config.riscv64-ipfire
>> @@ -230,7 +230,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>> # CONFIG_SLAB is not set
>> CONFIG_SLUB=y
>> # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>> CONFIG_SLAB_FREELIST_RANDOM=y
>> CONFIG_SLAB_FREELIST_HARDENED=y
>> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
>> diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire
>> index 40975b5fc..d3792cbb7 100644
>> --- a/config/kernel/kernel.config.x86_64-ipfire
>> +++ b/config/kernel/kernel.config.x86_64-ipfire
>> @@ -270,7 +270,7 @@ CONFIG_VM_EVENT_COUNTERS=y
>> # CONFIG_SLAB is not set
>> CONFIG_SLUB=y
>> # CONFIG_SLOB is not set
>> -CONFIG_SLAB_MERGE_DEFAULT=y
>> +# CONFIG_SLAB_MERGE_DEFAULT is not set
>> CONFIG_SLAB_FREELIST_RANDOM=y
>> CONFIG_SLAB_FREELIST_HARDENED=y
>> CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
  

Patch

diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire
index 9232335ff..023c3d5aa 100644
--- a/config/kernel/kernel.config.aarch64-ipfire
+++ b/config/kernel/kernel.config.aarch64-ipfire
@@ -247,7 +247,7 @@  CONFIG_VM_EVENT_COUNTERS=y
 # CONFIG_SLAB is not set
 CONFIG_SLUB=y
 # CONFIG_SLOB is not set
-CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_MERGE_DEFAULT is not set
 CONFIG_SLAB_FREELIST_RANDOM=y
 CONFIG_SLAB_FREELIST_HARDENED=y
 CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
diff --git a/config/kernel/kernel.config.armv6l-ipfire b/config/kernel/kernel.config.armv6l-ipfire
index dc0aee51b..b4587826e 100644
--- a/config/kernel/kernel.config.armv6l-ipfire
+++ b/config/kernel/kernel.config.armv6l-ipfire
@@ -250,7 +250,7 @@  CONFIG_VM_EVENT_COUNTERS=y
 # CONFIG_SLAB is not set
 CONFIG_SLUB=y
 # CONFIG_SLOB is not set
-CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_MERGE_DEFAULT is not set
 CONFIG_SLAB_FREELIST_RANDOM=y
 CONFIG_SLAB_FREELIST_HARDENED=y
 CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
diff --git a/config/kernel/kernel.config.riscv64-ipfire b/config/kernel/kernel.config.riscv64-ipfire
index 0801f4389..fb7cda4dd 100644
--- a/config/kernel/kernel.config.riscv64-ipfire
+++ b/config/kernel/kernel.config.riscv64-ipfire
@@ -230,7 +230,7 @@  CONFIG_VM_EVENT_COUNTERS=y
 # CONFIG_SLAB is not set
 CONFIG_SLUB=y
 # CONFIG_SLOB is not set
-CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_MERGE_DEFAULT is not set
 CONFIG_SLAB_FREELIST_RANDOM=y
 CONFIG_SLAB_FREELIST_HARDENED=y
 CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire
index 40975b5fc..d3792cbb7 100644
--- a/config/kernel/kernel.config.x86_64-ipfire
+++ b/config/kernel/kernel.config.x86_64-ipfire
@@ -270,7 +270,7 @@  CONFIG_VM_EVENT_COUNTERS=y
 # CONFIG_SLAB is not set
 CONFIG_SLUB=y
 # CONFIG_SLOB is not set
-CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_MERGE_DEFAULT is not set
 CONFIG_SLAB_FREELIST_RANDOM=y
 CONFIG_SLAB_FREELIST_HARDENED=y
 CONFIG_SHUFFLE_PAGE_ALLOCATOR=y