summaryrefslogtreecommitdiff
path: root/rust/kernel/alloc/box_ext.rs
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2024-09-05 20:27:09 -0700
committerJakub Kicinski <kuba@kernel.org>2024-09-05 20:37:20 -0700
commit502cc061de6692a9a8ca9bcf486de78e2664e869 (patch)
tree16a6c1b6c40936c59bd6dee4c1de918789094ee0 /rust/kernel/alloc/box_ext.rs
parente10034e38e9da2a644f2aa73f2f46bb7beb8620b (diff)
parentd759ee240d3c0c4a19f4d984eb21c36da76bc6ce (diff)
downloadlinux-next-502cc061de6692a9a8ca9bcf486de78e2664e869.tar.gz
linux-next-502cc061de6692a9a8ca9bcf486de78e2664e869.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR. Conflicts: drivers/net/phy/phy_device.c 2560db6ede1a ("net: phy: Fix missing of_node_put() for leds") 1dce520abd46 ("net: phy: Use for_each_available_child_of_node_scoped()") https://lore.kernel.org/20240904115823.74333648@canb.auug.org.au Adjacent changes: drivers/net/ethernet/xilinx/xilinx_axienet.h drivers/net/ethernet/xilinx/xilinx_axienet_main.c 858430db28a5 ("net: xilinx: axienet: Fix race in axienet_stop") 76abb5d675c4 ("net: xilinx: axienet: Add statistics support") Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'rust/kernel/alloc/box_ext.rs')
-rw-r--r--rust/kernel/alloc/box_ext.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/rust/kernel/alloc/box_ext.rs b/rust/kernel/alloc/box_ext.rs
index 829cb1c1cf9e..9f1c1c489189 100644
--- a/rust/kernel/alloc/box_ext.rs
+++ b/rust/kernel/alloc/box_ext.rs
@@ -21,8 +21,10 @@ pub trait BoxExt<T>: Sized {
impl<T> BoxExt<T> for Box<T> {
fn new(x: T, flags: Flags) -> Result<Self, AllocError> {
- let b = <Self as BoxExt<_>>::new_uninit(flags)?;
- Ok(Box::write(b, x))
+ let mut b = <Self as BoxExt<_>>::new_uninit(flags)?;
+ b.write(x);
+ // SAFETY: We just wrote to it.
+ Ok(unsafe { b.assume_init() })
}
#[cfg(any(test, testlib))]