CVE: CVE-2024-53065
Published: 2024-11-19
Description: In the Linux kernel, the following vulnerability has been resolved:

mm/slab: fix warning caused by duplicate kmem_cache creation in kmem_buckets_create

Commit b035f5a6d852 ("mm: slab: reduce the kmalloc() minimum alignment
if DMA bouncing possible") reduced ARCH_KMALLOC_MINALIGN to 8 on arm64.
However, with KASAN_HW_TAGS enabled, arch_slab_minalign() becomes 16.
This causes kmalloc_caches[*][8] to be aliased to kmalloc_caches[*][16],
resulting in kmem_buckets_create() attempting to create a kmem_cache for
size 16 twice. This duplication triggers warnings on boot:

[    2.325108] ------------[ cut here ]------------
[    2.325135] kmem_cache of name 'memdup_user-16' already exists
[    2.325783] WARNING: CPU: 0 PID: 1 at mm/slab_common.c:107 __kmem_cache_create_args+0xb8/0x3b0
[    2.327957] Modules linked in:
[    2.328550] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.0-rc5mm-unstable-arm64+ #12
[    2.328683] Hardware name: QEMU QEMU Virtual Machine, BIOS 2024.02-2 03/11/2024
[    2.328790] pstate: 61000009 (nZCv daif -PAN -UAO -TCO +DIT -SSBS BTYPE=--)
[    2.328911] pc : __kmem_cache_create_args+0xb8/0x3b0
[    2.328930] lr : __kmem_cache_create_args+0xb8/0x3b0
[    2.328942] sp : ffff800083d6fc50
[    2.328961] x29: ffff800083d6fc50 x28: f2ff0000c1674410 x27: ffff8000820b0598
[    2.329061] x26: 000000007fffffff x25: [PII_REDACTED] x24: [PII_REDACTED]
[    2.329101] x23: ffff800083d6fce8 x22: ffff[PII_REDACTED]e8 x21: ffff[PII_REDACTED]88
[    2.329118] x20: f2ff0000c1674410 x19: f5ff0000c16364c0 x18: ffff800083d80030
[    2.329135] x17: [PII_REDACTED] x16: [PII_REDACTED] x15: [PII_REDACTED]
[    2.329152] x14: [PII_REDACTED] x13: 0a[PII_REDACTED]6520 x12:[PII_REDACTED]6c6120
[    2.329169] x11:[PII_REDACTED]63205b x10: 2d2d2d2d2d2d2d2d x9 : [PII_REDACTED]
[    2.329194] x8 : [PII_REDACTED] x7 : [PII_REDACTED] x6 : [PII_REDACTED]
[    2.329210] x5 : [PII_REDACTED] x4 : [PII_REDACTED] x3 : [PII_REDACTED]
[    2.329226] x2 : [PII_REDACTED] x1 : [PII_REDACTED] x0 : [PII_REDACTED]
[    2.329291] Call trace:
[    2.329407]  __kmem_cache_create_args+0xb8/0x3b0
[    2.329499]  kmem_buckets_create+0xfc/0x320
[    2.329526]  init_user_buckets+0x34/0x78
[    2.329540]  do_one_initcall+0x64/0x3c8
[    2.329550]  kernel_init_freeable+0x26c/0x578
[    2.329562]  kernel_init+0x3c/0x258
[    2.329574]  ret_from_fork+0x10/0x20
[    2.329698] ---[ end trace [PII_REDACTED] ]---

[    2.403704] ------------[ cut here ]------------
[    2.404716] kmem_cache of name 'msg_msg-16' already exists
[    2.404801] WARNING: CPU: 2 PID: 1 at mm/slab_common.c:107 __kmem_cache_create_args+0xb8/0x3b0
[    2.404842] Modules linked in:
[    2.404971] CPU: 2 UID: 0 PID: 1 Comm: swapper/0 Tainted: G        W          6.12.0-rc5mm-unstable-arm64+ #12
[    2.405026] Tainted: [W]=WARN
[    2.405043] Hardware name: QEMU QEMU Virtual Machine, BIOS 2024.02-2 03/11/2024
[    2.405057] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    2.405079] pc : __kmem_cache_create_args+0xb8/0x3b0
[    2.405100] lr : __kmem_cache_create_args+0xb8/0x3b0
[    2.405111] sp : ffff800083d6fc50
[    2.405115] x29: ffff800083d6fc50 x28: fbff0000c1674410 x27: ffff8000820b0598
[    2.405135] x26:[PII_REDACTED]00ffd0 x25: [PII_REDACTED] x24: [PII_REDACTED]
[    2.405153] x23: ffff800083d6fce8 x22: ffff[PII_REDACTED]e8 x21: ffff[PII_REDACTED]88
[    2.405169] x20: fbff0000c1674410 x19: fdff0000c163d6c0 x18: ffff800083d80030
[    2.405185] x17: [PII_REDACTED] x16: [PII_REDACTED] x15: [PII_REDACTED]
[    2.405201] x14: [PII_REDACTED] x13: 0a[PII_REDACTED]6520 x12:[PII_REDACTED]6c6120
[    2.405217] x11:[PII_REDACTED]63205b x10: 2d2d2d2d2d2d2d2d x9 : [PII_REDACTED]
[    2.405233] x8 : [PII_REDACTED] x7 : [PII_REDACTED] x6 : [PII_REDACTED]
[    2.405248] x5 : [PII_REDACTED] x4 : [PII_REDACTED] x3 : [PII_REDACTED]
[    2.405271] x2 : [PII_REDACTED] x1 : [PII_REDACTED] x0 : [PII_REDACTED]
[    2.405287] Call trace:
[    2
---truncated---
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/1b47f9febf48641d3530ec877f4d0995c58e6b73; https://git.kernel.org/stable/c/9c9201afebea1efc7ea4b8f721ee18a05bb8aca1