linux/rust
Danilo Krummrich 60a56f5a54 rust: alloc: replace aligned_size() with Kmalloc::aligned_layout()
[ Upstream commit fde578c862 ]

aligned_size() dates back to when Rust did support kmalloc() only, but
is now used in ReallocFunc::call() and hence for all allocators.

However, the additional padding applied by aligned_size() is only
required by the kmalloc() allocator backend.

Hence, replace aligned_size() with Kmalloc::aligned_layout() and use it
for the affected allocators, i.e. kmalloc() and kvmalloc(), only.

While at it, make Kmalloc::aligned_layout() public, such that Rust
abstractions, which have to call subsystem specific kmalloc() based
allocation primitives directly, can make use of it.

Fixes: 8a799831fc ("rust: alloc: implement `ReallocFunc`")
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20250731154919.4132-2-dakr@kernel.org
[ Remove `const` from Kmalloc::aligned_layout(). - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-08-28 16:31:12 +02:00
..
bindings rust: clean Rust 1.88.0's unnecessary_transmutes lint 2025-05-18 08:24:51 +02:00
helpers rust: alloc: implement KVmalloc allocator 2025-03-13 13:01:44 +01:00
kernel rust: alloc: replace aligned_size() with Kmalloc::aligned_layout() 2025-08-28 16:31:12 +02:00
macros rust: use #[used(compiler)] to fix build and modpost with Rust >= 1.89.0 2025-07-24 08:56:37 +02:00
uapi rust: clean Rust 1.88.0's unnecessary_transmutes lint 2025-05-18 08:24:51 +02:00
.gitignore rust: support running Rust documentation tests as KUnit ones 2023-07-19 09:32:53 -06:00
bindgen_parameters rust: map __kernel_size_t and friends also to usize/isize 2025-03-13 13:01:48 +01:00
build_error.rs rust: add build_error crate 2022-12-04 01:59:16 +01:00
compiler_builtins.rs rust: add intrinsics to fix -Os builds 2024-08-10 00:05:10 +02:00
exports.c kbuild: rust: remove the alloc crate and GlobalAlloc 2025-03-13 13:01:47 +01:00
ffi.rs rust: map long to isize and char to u8 2025-03-13 13:02:13 +01:00
Makefile rust: workaround rustdoc target modifiers bug 2025-08-20 18:30:57 +02:00