When compiling for the `rusttest` target, the `core::ptr` import is
unused since its only use happens in the `reserve()` method which is
not compiled in that target:
warning: unused import: `core::ptr`
--> rust/kernel/alloc/vec_ext.rs:7:5
|
7 | use core::ptr;
| ^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
Thus clean it.
Fixes: 97ab3e8eec0c ("rust: alloc: fix dangling pointer in VecExt<T>::reserve()")
Signed-off-by: Miguel Ojeda <[email protected]>
---
rust/kernel/alloc/vec_ext.rs | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/rust/kernel/alloc/vec_ext.rs b/rust/kernel/alloc/vec_ext.rs
index e9a81052728a..1297a4be32e8 100644
--- a/rust/kernel/alloc/vec_ext.rs
+++ b/rust/kernel/alloc/vec_ext.rs
@@ -4,7 +4,6 @@
use super::{AllocError, Flags};
use alloc::vec::Vec;
-use core::ptr;
/// Extensions to [`Vec`].
pub trait VecExt<T>: Sized {
@@ -141,7 +140,11 @@ fn reserve(&mut self, additional: usize, flags: Flags) -> Result<(), AllocError>
// `krealloc_aligned`. A `Vec<T>`'s `ptr` value is not guaranteed to be NULL and might be
// dangling after being created with `Vec::new`. Instead, we can rely on `Vec<T>`'s capacity
// to be zero if no memory has been allocated yet.
- let ptr = if cap == 0 { ptr::null_mut() } else { old_ptr };
+ let ptr = if cap == 0 {
+ core::ptr::null_mut()
+ } else {
+ old_ptr
+ };
// SAFETY: `ptr` is valid because it's either NULL or comes from a previous call to
// `krealloc_aligned`. We also verified that the type is not a ZST.
base-commit: 97ab3e8eec0ce79d9e265e6c9e4c480492180409
--
2.45.1
On Sun, May 19, 2024 at 11:07 PM Miguel Ojeda <[email protected]> wrote:
>
> When compiling for the `rusttest` target, the `core::ptr` import is
> unused since its only use happens in the `reserve()` method which is
> not compiled in that target:
>
> warning: unused import: `core::ptr`
> --> rust/kernel/alloc/vec_ext.rs:7:5
> |
> 7 | use core::ptr;
> | ^^^^^^^^^
> |
> = note: `#[warn(unused_imports)]` on by default
>
> Thus clean it.
>
> Fixes: 97ab3e8eec0c ("rust: alloc: fix dangling pointer in VecExt<T>::reserve()")
> Signed-off-by: Miguel Ojeda <[email protected]>
Reviewed-by: Alice Ryhl <[email protected]>
On Sun, May 19, 2024 at 11:07:35PM +0200, Miguel Ojeda wrote:
> When compiling for the `rusttest` target, the `core::ptr` import is
> unused since its only use happens in the `reserve()` method which is
> not compiled in that target:
>
> warning: unused import: `core::ptr`
> --> rust/kernel/alloc/vec_ext.rs:7:5
> |
> 7 | use core::ptr;
> | ^^^^^^^^^
> |
> = note: `#[warn(unused_imports)]` on by default
>
> Thus clean it.
>
> Fixes: 97ab3e8eec0c ("rust: alloc: fix dangling pointer in VecExt<T>::reserve()")
> Signed-off-by: Miguel Ojeda <[email protected]>
Reviewed-by: Danilo Krummrich <[email protected]>
> ---
> rust/kernel/alloc/vec_ext.rs | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/rust/kernel/alloc/vec_ext.rs b/rust/kernel/alloc/vec_ext.rs
> index e9a81052728a..1297a4be32e8 100644
> --- a/rust/kernel/alloc/vec_ext.rs
> +++ b/rust/kernel/alloc/vec_ext.rs
> @@ -4,7 +4,6 @@
>
> use super::{AllocError, Flags};
> use alloc::vec::Vec;
> -use core::ptr;
>
> /// Extensions to [`Vec`].
> pub trait VecExt<T>: Sized {
> @@ -141,7 +140,11 @@ fn reserve(&mut self, additional: usize, flags: Flags) -> Result<(), AllocError>
> // `krealloc_aligned`. A `Vec<T>`'s `ptr` value is not guaranteed to be NULL and might be
> // dangling after being created with `Vec::new`. Instead, we can rely on `Vec<T>`'s capacity
> // to be zero if no memory has been allocated yet.
> - let ptr = if cap == 0 { ptr::null_mut() } else { old_ptr };
> + let ptr = if cap == 0 {
> + core::ptr::null_mut()
> + } else {
> + old_ptr
> + };
>
> // SAFETY: `ptr` is valid because it's either NULL or comes from a previous call to
> // `krealloc_aligned`. We also verified that the type is not a ZST.
>
> base-commit: 97ab3e8eec0ce79d9e265e6c9e4c480492180409
> --
> 2.45.1
>
On Sun, May 19, 2024 at 11:07 PM Miguel Ojeda <[email protected]> wrote:
>
> When compiling for the `rusttest` target, the `core::ptr` import is
> unused since its only use happens in the `reserve()` method which is
> not compiled in that target:
>
> warning: unused import: `core::ptr`
> --> rust/kernel/alloc/vec_ext.rs:7:5
> |
> 7 | use core::ptr;
> | ^^^^^^^^^
> |
> = note: `#[warn(unused_imports)]` on by default
>
> Thus clean it.
>
> Fixes: 97ab3e8eec0c ("rust: alloc: fix dangling pointer in VecExt<T>::reserve()")
> Signed-off-by: Miguel Ojeda <[email protected]>
Applied to `rust-fixes` -- thanks everyone!
Cheers,
Miguel