]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rust: alloc: take the allocator into account for FOREIGN_ALIGN
authorAlice Ryhl <aliceryhl@google.com>
Mon, 11 Aug 2025 12:31:51 +0000 (12:31 +0000)
committerDanilo Krummrich <dakr@kernel.org>
Fri, 15 Aug 2025 18:55:16 +0000 (20:55 +0200)
commitbb9749f32ad38cf343e6650a34125be6aacd65d1
treeef940115fb4b5e526c12c2c6e3eceec4cf3e4a1b
parent1b1a946dc2b535785663742f9e4f15fd64bece60
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>
rust/kernel/alloc/kbox.rs
rust/kernel/sync/arc.rs