mirror of
https://github.com/torvalds/linux.git
synced 2025-04-09 14:45:27 +00:00
rust: rbtree: fix comments referring to Box instead of KBox
Several safety comments in the RBTree implementation still refer to "Box::from_raw" and "Box::into_raw", but the code actually uses KBox. These comments were not updated when the implementation transitioned from using Box to KBox. Fixes: 8373147ce496 ("rust: treewide: switch to our kernel `Box` type") Signed-off-by: Charalampos Mitrodimas <charmitro@posteo.net> Reviewed-by: Benno Lossin <benno.lossin@proton.me> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Link: https://lore.kernel.org/r/20250315-rbtree-comment-fixes-v1-1-51f72c420ff0@posteo.net Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
parent
5928642b11
commit
f6be7af445
@ -1168,12 +1168,12 @@ impl<'a, K, V> RawVacantEntry<'a, K, V> {
|
||||
fn insert(self, node: RBTreeNode<K, V>) -> &'a mut V {
|
||||
let node = KBox::into_raw(node.node);
|
||||
|
||||
// SAFETY: `node` is valid at least until we call `Box::from_raw`, which only happens when
|
||||
// SAFETY: `node` is valid at least until we call `KBox::from_raw`, which only happens when
|
||||
// the node is removed or replaced.
|
||||
let node_links = unsafe { addr_of_mut!((*node).links) };
|
||||
|
||||
// INVARIANT: We are linking in a new node, which is valid. It remains valid because we
|
||||
// "forgot" it with `Box::into_raw`.
|
||||
// "forgot" it with `KBox::into_raw`.
|
||||
// SAFETY: The type invariants of `RawVacantEntry` are exactly the safety requirements of `rb_link_node`.
|
||||
unsafe { bindings::rb_link_node(node_links, self.parent, self.child_field_of_parent) };
|
||||
|
||||
@ -1259,7 +1259,7 @@ impl<'a, K, V> OccupiedEntry<'a, K, V> {
|
||||
fn replace(self, node: RBTreeNode<K, V>) -> RBTreeNode<K, V> {
|
||||
let node = KBox::into_raw(node.node);
|
||||
|
||||
// SAFETY: `node` is valid at least until we call `Box::from_raw`, which only happens when
|
||||
// SAFETY: `node` is valid at least until we call `KBox::from_raw`, which only happens when
|
||||
// the node is removed or replaced.
|
||||
let new_node_links = unsafe { addr_of_mut!((*node).links) };
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user