[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <DCKQBKR9NYGI.33LVD1OKBQ6OZ@kernel.org>
Date: Fri, 05 Sep 2025 10:38:26 +0200
From: "Danilo Krummrich" <dakr@...nel.org>
To: "Stephen Rothwell" <sfr@...b.auug.org.au>
Cc: "Alice Ryhl" <aliceryhl@...gle.com>, "Linux Kernel Mailing List"
<linux-kernel@...r.kernel.org>, "Linux Next Mailing List"
<linux-next@...r.kernel.org>, "Miguel Ojeda" <ojeda@...nel.org>
Subject: Re: linux-next: manual merge of the drm-rust tree with Linus' tree
On Fri Sep 5, 2025 at 4:56 AM CEST, Stephen Rothwell wrote:
> diff --cc rust/kernel/alloc/allocator_test.rs
> index 2e61cdbd2303,f46b4b671389..000000000000
> --- a/rust/kernel/alloc/allocator_test.rs
> +++ b/rust/kernel/alloc/allocator_test.rs
> @@@ -9,11 -9,13 +9,13 @@@
>
> #![allow(missing_docs)]
>
> -use super::{flags::*, AllocError, Allocator, Flags};
> +use super::{flags::*, AllocError, Allocator, Flags, NumaNode};
> use core::alloc::Layout;
> use core::cmp;
> + use core::marker::PhantomData;
> use core::ptr;
> use core::ptr::NonNull;
> + use kernel::page;
>
> /// The userspace allocator based on libc.
> pub struct Cmalloc;
> @@@ -22,17 -24,33 +24,44 @@@ 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()
> + }
> +}
> +
> + pub struct VmallocPageIter<'a> {
> + _p: PhantomData<page::BorrowedPage<'a>>,
> + }
> +
> + impl<'a> Iterator for VmallocPageIter<'a> {
> + type Item = page::BorrowedPage<'a>;
> +
> + fn next(&mut self) -> Option<Self::Item> {
> + None
> + }
> + }
> +
> + impl<'a> VmallocPageIter<'a> {
> + #[allow(clippy::missing_safety_doc)]
> + pub unsafe fn new(_buf: NonNull<u8>, _size: usize) -> Self {
> + Self { _p: PhantomData }
> + }
> +
> + pub fn size(&self) -> usize {
> + 0
> + }
> +
> + pub fn page_count(&self) -> usize {
> + 0
> + }
> + }
> +
> extern "C" {
> #[link_name = "aligned_alloc"]
> fn libc_aligned_alloc(align: usize, size: usize) -> *mut crate::ffi::c_void;
Looks good, thanks!
Powered by blists - more mailing lists