All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Hindborg (Samsung)" <nmi@metaspace.dk>
To: Boqun Feng <boqun.feng@gmail.com>
Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, "Miguel Ojeda" <ojeda@kernel.org>,
	"Alex Gaynor" <alex.gaynor@gmail.com>,
	"Wedson Almeida Filho" <wedsonaf@gmail.com>,
	"Gary Guo" <gary@garyguo.net>,
	"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
	"Benno Lossin" <benno.lossin@proton.me>,
	"Martin Rodriguez Reboredo" <yakoyoku@gmail.com>,
	"Alice Ryhl" <aliceryhl@google.com>,
	"Dariusz Sosnowski" <dsosnowski@dsosnowski.pl>,
	"Geoffrey Thomas" <geofft@ldpreload.com>,
	"Fox Chen" <foxhlchen@gmail.com>,
	"John Baublitz" <john.m.baublitz@gmail.com>,
	"Christoph Lameter" <cl@linux.com>,
	"Pekka Enberg" <penberg@kernel.org>,
	"David Rientjes" <rientjes@google.com>,
	"Joonsoo Kim" <iamjoonsoo.kim@lge.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Vlastimil Babka" <vbabka@suse.cz>,
	"Roman Gushchin" <roman.gushchin@linux.dev>,
	"Hyeonggon Yoo" <42.hyeyoo@gmail.com>,
	"Kees Cook" <keescook@chromium.org>,
	stable@vger.kernel.org
Subject: Re: [PATCH 2/3] rust: allocator: Use krealloc_aligned() in KernelAllocator::alloc
Date: Mon, 31 Jul 2023 10:48:57 +0200	[thread overview]
Message-ID: <873514qxd2.fsf@metaspace.dk> (raw)
In-Reply-To: <20230730012905.643822-3-boqun.feng@gmail.com>


Boqun Feng <boqun.feng@gmail.com> writes:

> This fixes the potential issue that when KernelAllocator is used, the
> allocation may be mis-aligned due to SLAB's alignment guarantee.
>
> Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
> ---
>  rust/kernel/allocator.rs | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/rust/kernel/allocator.rs b/rust/kernel/allocator.rs
> index fae11d1fdba7..1aec688cf0e0 100644
> --- a/rust/kernel/allocator.rs
> +++ b/rust/kernel/allocator.rs
> @@ -41,9 +41,9 @@ unsafe fn krealloc_aligned(ptr: *mut u8, new_layout: Layout, flags: bindings::gf
>  
>  unsafe impl GlobalAlloc for KernelAllocator {
>      unsafe fn alloc(&self, layout: Layout) -> *mut u8 {
> -        // `krealloc()` is used instead of `kmalloc()` because the latter is
> -        // an inline function and cannot be bound to as a result.
> -        unsafe { bindings::krealloc(ptr::null(), layout.size(), bindings::GFP_KERNEL) as *mut u8 }
> +        // SAFETY: `ptr::null_mut()` is null and `layout` has a non-zero size by the function safety
> +        // requirement.
> +        unsafe { krealloc_aligned(ptr::null_mut(), layout, bindings::GFP_KERNEL) }
>      }
>  
>      unsafe fn dealloc(&self, ptr: *mut u8, _layout: Layout) {

Reviewed-by: Andreas Hindborg <a.hindborg@samsung.com>


  parent reply	other threads:[~2023-07-31  8:49 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-30  1:29 [PATCH 0/3] Fix alignment issue and prepare for rust 1.71 Boqun Feng
2023-07-30  1:29 ` [PATCH 1/3] rust: allocator: Prevent mis-aligned allocation Boqun Feng
2023-07-30 20:43   ` Miguel Ojeda
2023-07-30 22:36     ` Björn Roy Baron
2023-07-30 22:41     ` Björn Roy Baron
2023-07-30 22:53       ` Boqun Feng
2023-07-31  0:13         ` Miguel Ojeda
2023-07-31  7:56   ` Vlastimil Babka
2023-07-30  1:29 ` [PATCH 2/3] rust: allocator: Use krealloc_aligned() in KernelAllocator::alloc Boqun Feng
2023-07-30  1:32   ` kernel test robot
2023-07-31  8:48   ` Andreas Hindborg (Samsung) [this message]
2023-07-30  1:29 ` [PATCH 3/3] rust: alloc: Add realloc and alloc_zeroed to the GlobalAlloc impl Boqun Feng
2023-07-31 11:12   ` Andreas Hindborg (Samsung)
2023-07-30 20:43 ` [PATCH 0/3] Fix alignment issue and prepare for rust 1.71 Miguel Ojeda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=873514qxd2.fsf@metaspace.dk \
    --to=nmi@metaspace.dk \
    --cc=42.hyeyoo@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=benno.lossin@proton.me \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=cl@linux.com \
    --cc=dsosnowski@dsosnowski.pl \
    --cc=foxhlchen@gmail.com \
    --cc=gary@garyguo.net \
    --cc=geofft@ldpreload.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=john.m.baublitz@gmail.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ojeda@kernel.org \
    --cc=penberg@kernel.org \
    --cc=rientjes@google.com \
    --cc=roman.gushchin@linux.dev \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=vbabka@suse.cz \
    --cc=wedsonaf@gmail.com \
    --cc=yakoyoku@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.