Commit 2c8ad5cf authored by Alice Ryhl's avatar Alice Ryhl Committed by Greg Kroah-Hartman
Browse files

rust: list: add warning to List::remove docs about mem::take



The previous patches in this series illustrate why the List::remove
method is really dangerous. I think the real takeaway here is to replace
the linked lists with a different data structure without this unsafe
footgun, but for now we fix the bugs and add a warning to the docs.

Signed-off-by: default avatarAlice Ryhl <aliceryhl@google.com>
Acked-by: default avatarMiguel Ojeda <ojeda@kernel.org>
Link: https://patch.msgid.link/20251111-binder-fix-list-remove-v1-3-8ed14a0da63d@google.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6c37bebd
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -576,6 +576,9 @@ pub fn pop_front(&mut self) -> Option<ListArc<T, ID>> {
    /// This returns `None` if the item is not in the list. (Note that by the safety requirements,
    /// this means that the item is not in any list.)
    ///
    /// When using this method, be careful with using `mem::take` on the same list as that may
    /// result in violating the safety requirements of this method.
    ///
    /// # Safety
    ///
    /// `item` must not be in a different linked list (with the same id).