summaryrefslogtreecommitdiff
path: root/rust/kernel/init.rs
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2024-04-29 20:22:39 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2024-04-29 20:22:39 +0200
commitb84bc948528e6474ba48596144e9c17466a98448 (patch)
tree194e9a20ae9ec40614937de8a23753908bffc75e /rust/kernel/init.rs
parent2236a61bd4917e85039ff318c39e1524beb10362 (diff)
parente67572cd2204894179d89bd7b984072f19313b03 (diff)
downloadlinux-b84bc948528e6474ba48596144e9c17466a98448.tar.gz
linux-b84bc948528e6474ba48596144e9c17466a98448.tar.bz2
linux-b84bc948528e6474ba48596144e9c17466a98448.zip
Merge v6.9-rc6 into drm-next
Thomas needs the defio fixes, MaĆ­ra needs the vkms fixes and Joonas has some fun with i915-gem conflicts. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'rust/kernel/init.rs')
-rw-r--r--rust/kernel/init.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/rust/kernel/init.rs b/rust/kernel/init.rs
index 424257284d16..09004b56fb65 100644
--- a/rust/kernel/init.rs
+++ b/rust/kernel/init.rs
@@ -1292,8 +1292,15 @@ impl_zeroable! {
i8, i16, i32, i64, i128, isize,
f32, f64,
- // SAFETY: These are ZSTs, there is nothing to zero.
- {<T: ?Sized>} PhantomData<T>, core::marker::PhantomPinned, Infallible, (),
+ // Note: do not add uninhabited types (such as `!` or `core::convert::Infallible`) to this list;
+ // creating an instance of an uninhabited type is immediate undefined behavior. For more on
+ // uninhabited/empty types, consult The Rustonomicon:
+ // <https://doc.rust-lang.org/stable/nomicon/exotic-sizes.html#empty-types>. The Rust Reference
+ // also has information on undefined behavior:
+ // <https://doc.rust-lang.org/stable/reference/behavior-considered-undefined.html>.
+ //
+ // SAFETY: These are inhabited ZSTs; there is nothing to zero and a valid value exists.
+ {<T: ?Sized>} PhantomData<T>, core::marker::PhantomPinned, (),
// SAFETY: Type is allowed to take any value, including all zeros.
{<T>} MaybeUninit<T>,