Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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: Alice Ryhl <aliceryhl@google.com>
Acked-by: Miguel Ojeda <ojeda@kernel.org>
Link: https://patch.msgid.link/20251111-binder-fix-list-remove-v1-3-8ed14a0da63d@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Alice Ryhl and committed by
Greg Kroah-Hartman
2c8ad5cf 6c37bebd

+3
+3
rust/kernel/list.rs
··· 576 576 /// This returns `None` if the item is not in the list. (Note that by the safety requirements, 577 577 /// this means that the item is not in any list.) 578 578 /// 579 + /// When using this method, be careful with using `mem::take` on the same list as that may 580 + /// result in violating the safety requirements of this method. 581 + /// 579 582 /// # Safety 580 583 /// 581 584 /// `item` must not be in a different linked list (with the same id).