summaryrefslogtreecommitdiff
path: root/rust/kernel/firmware.rs
diff options
context:
space:
mode:
authorMiguel Ojeda <ojeda@kernel.org>2026-07-11 20:02:31 +0200
committerDanilo Krummrich <dakr@kernel.org>2026-07-17 15:44:44 +0200
commit3fadfb9362cf1b7d0a775f406f011d78800d6054 (patch)
treed760346ac3185e91b5dd8798df6c5eaf9ec7c2cf /rust/kernel/firmware.rs
parent2b74f1f2024486c7a81915528b6aa7f8f5daa021 (diff)
downloadlinux-next-3fadfb9362cf1b7d0a775f406f011d78800d6054.tar.gz
linux-next-3fadfb9362cf1b7d0a775f406f011d78800d6054.zip
rust: firmware: avoid UB in example by passing parameter
The `Firmware` example crafts an `ARef<Device>` using a null pointer, which breaks the safety requirements of `Device::get_device()`. Instead, pass an `ARef` via a parameter, which is simpler, avoids UB and removes an `unsafe` block. Signed-off-by: Miguel Ojeda <ojeda@kernel.org> Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Gary Guo <gary@garyguo.net> Link: https://patch.msgid.link/20260711180231.229525-1-ojeda@kernel.org [ Also drop the second superfluous empty line. - Danilo ] Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Diffstat (limited to 'rust/kernel/firmware.rs')
-rw-r--r--rust/kernel/firmware.rs8
1 files changed, 2 insertions, 6 deletions
diff --git a/rust/kernel/firmware.rs b/rust/kernel/firmware.rs
index 71168d8004e2..1e3dd2e3422d 100644
--- a/rust/kernel/firmware.rs
+++ b/rust/kernel/firmware.rs
@@ -51,12 +51,8 @@ impl FwFunc {
/// # Examples
///
/// ```no_run
-/// # use kernel::{device::Device, firmware::Firmware};
-///
-/// # fn no_run() -> Result<(), Error> {
-/// # // SAFETY: *NOT* safe, just for the example to get an `ARef<Device>` instance
-/// # let dev = unsafe { Device::get_device(core::ptr::null_mut()) };
-///
+/// # use kernel::{device::Device, firmware::Firmware, sync::aref::ARef};
+/// # fn no_run(dev: ARef<Device>) -> Result<(), Error> {
/// let fw = Firmware::request(c"path/to/firmware.bin", &dev)?;
/// let blob = fw.data();
///