linux/rust/kernel/alloc
Alice Ryhl bb9749f32a rust: alloc: take the allocator into account for FOREIGN_ALIGN
When converting a Box<T> into a void pointer, the allocator might
guarantee a higher alignment than the type itself does, and in that case
it is guaranteed that the void pointer has that higher alignment.

This is quite useful when combined with the XArray, which you can only
create using a ForeignOwnable whose FOREIGN_ALIGN is at least 4. This
means that you can now always use a Box<T> with the XArray no matter the
alignment of T.

Reviewed-by: Benno Lossin <lossin@kernel.org>
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Acked-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Reviewed-by: Andreas Hindborg <a.hindborg@kernel.org>
Link: https://lore.kernel.org/r/20250811-align-min-allocator-v2-2-3386cc94f4fc@google.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2025-08-15 20:55:16 +02:00
..
kvec rust: alloc: add Vec::insert_within_capacity 2025-05-07 18:40:45 +02:00
allocator_test.rs rust: enable clippy::ptr_as_ptr lint 2025-06-22 23:08:42 +02:00
allocator.rs rust: alloc: specify the minimum alignment of each allocator 2025-08-15 20:55:16 +02:00
kbox.rs rust: alloc: take the allocator into account for FOREIGN_ALIGN 2025-08-15 20:55:16 +02:00
kvec.rs rust: make kvec::Vec functions const fn 2025-08-15 19:58:51 +02:00
layout.rs rust: make ArrayLayout::new_unchecked a const fn 2025-08-15 19:58:51 +02:00