diff options
author | Dave Airlie <airlied@redhat.com> | 2025-09-15 17:51:07 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2025-09-15 17:51:07 +1000 |
commit | 0d9f0083f7a5a31d91d501467b499bb8c4b25bdf (patch) | |
tree | 5670a6d87e7cb5c421809babf9dc9e72ff40f8ae /rust/kernel/alloc/allocator_test.rs | |
parent | 2cda9a063dd6f21e5294092a679afdcd0fc58549 (diff) | |
parent | f83ec76bf285bea5727f478a68b894f5543ca76e (diff) |
Merge tag 'v6.17-rc6' into drm-next
This is a backmerge of Linux 6.17-rc6, needed for msm,
also requested by misc.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'rust/kernel/alloc/allocator_test.rs')
-rw-r--r-- | rust/kernel/alloc/allocator_test.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/rust/kernel/alloc/allocator_test.rs b/rust/kernel/alloc/allocator_test.rs index a3074480bd8d..90dd987d40e4 100644 --- a/rust/kernel/alloc/allocator_test.rs +++ b/rust/kernel/alloc/allocator_test.rs @@ -22,6 +22,17 @@ pub type Kmalloc = Cmalloc; pub type Vmalloc = Kmalloc; pub type KVmalloc = Kmalloc; +impl Cmalloc { + /// Returns a [`Layout`] that makes [`Kmalloc`] fulfill the requested size and alignment of + /// `layout`. + pub fn aligned_layout(layout: Layout) -> Layout { + // Note that `layout.size()` (after padding) is guaranteed to be a multiple of + // `layout.align()` which together with the slab guarantees means that `Kmalloc` will return + // a properly aligned object (see comments in `kmalloc()` for more information). + layout.pad_to_align() + } +} + extern "C" { #[link_name = "aligned_alloc"] fn libc_aligned_alloc(align: usize, size: usize) -> *mut crate::ffi::c_void; |