Re: [PATCH] samples: rust: debugfs: fix excessive stack use
"Alexandre Courbot" <[email protected]>
| Newsgroups | org.kernel.vger.rust-for-linux,dev.linux.lists.driver-core,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Thu Jul 16, 2026 at 7:41 AM PDT, Gary Guo wrote: > From: Gary Guo <[email protected]> > > The current implementation creates a 4K array and move it into the box. > Klint reports that this causes excesssive stack usage: > > warning: stack size of `create_file_write` is 4472 bytes, exceeds the 2048-byte limit > --> samples/rust/rust_debugfs_scoped.rs:54:1 > | > 54 | / fn create_file_write( > 55 | | mod_data: &ModuleData, > 56 | | reader: &mut kernel::uaccess::UserSliceReader, > 57 | | ) -> Result { > | |___________^ > | > = note: the stack size is inferred from instruction `sub $0x1178,%rsp` at .text+2205 > > Use pin-init to create the array in-place instead. > > Fixes: f656279afde1 ("samples: rust: debugfs_scoped: add example for blobs") > Signed-off-by: Gary Guo <[email protected]> > --- > samples/rust/rust_debugfs_scoped.rs | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/samples/rust/rust_debugfs_scoped.rs b/samples/rust/rust_debugfs_scoped.rs > index 6a575a15a2c2..33a4a0865f5b 100644 > --- a/samples/rust/rust_debugfs_scoped.rs > +++ b/samples/rust/rust_debugfs_scoped.rs > @@ -75,7 +75,7 @@ fn create_file_write( > GFP_KERNEL, > )?; > } > - let blob = KBox::pin_init(new_mutex!([0x42; SZ_4K]), GFP_KERNEL)?; > + let blob = KBox::pin_init(new_mutex!(pin_init::init_array_from_fn(|_| 0x42)), GFP_KERNEL)?; Since this is a sample, do we want to specify the size explicitly as it is arguably more readable in this case? Regardless, Reviewed-by: Alexandre Courbot <[email protected]>