From b518dc7a316b172f474be97e2139cb36b1b15f2f Mon Sep 17 00:00:00 2001 From: Jethro Beekman Date: Tue, 27 Jul 2021 12:11:20 +0200 Subject: Add warning to SGX mutex implementation --- library/std/src/sys/sgx/mutex.rs | 1 + library/std/src/sys/sgx/waitqueue/unsafe_list.rs | 1 + 2 files changed, 2 insertions(+) (limited to 'library/std/src/sys') diff --git a/library/std/src/sys/sgx/mutex.rs b/library/std/src/sys/sgx/mutex.rs index 8874517dac6..0b2d1f4487f 100644 --- a/library/std/src/sys/sgx/mutex.rs +++ b/library/std/src/sys/sgx/mutex.rs @@ -8,6 +8,7 @@ pub struct Mutex { inner: SpinMutex>, } +// not movable: see UnsafeList implementation pub type MovableMutex = Box; // Implementation according to “Operating Systems: Three Easy Pieces”, chapter 28 diff --git a/library/std/src/sys/sgx/waitqueue/unsafe_list.rs b/library/std/src/sys/sgx/waitqueue/unsafe_list.rs index cf2f0886c15..c736cab576e 100644 --- a/library/std/src/sys/sgx/waitqueue/unsafe_list.rs +++ b/library/std/src/sys/sgx/waitqueue/unsafe_list.rs @@ -23,6 +23,7 @@ impl UnsafeListEntry { } } +// WARNING: self-referential struct! pub struct UnsafeList { head_tail: NonNull>, head_tail_entry: Option>, -- cgit 1.4.1-3-g733a5