projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
db7196d
)
rcu_queue: use atomic_set in QLIST_REMOVE_RCU
author
Emilio G. Cota
<cota@braap.org>
Sun, 19 Aug 2018 09:13:25 +0000
(
05:13
-0400)
committer
Paolo Bonzini
<pbonzini@redhat.com>
Thu, 23 Aug 2018 16:46:25 +0000
(18:46 +0200)
To avoid undefined behaviour.
Signed-off-by: Emilio G. Cota <cota@braap.org>
Message-Id: <
20180819091335
.22863-2-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
include/qemu/rcu_queue.h
patch
|
blob
|
history
diff --git
a/include/qemu/rcu_queue.h
b/include/qemu/rcu_queue.h
index 01be77407ba776366f5d23ec827e60a4323fe6ef..dd7b3be043eb5e685fdbee17ca90e27654bd7c9c 100644
(file)
--- a/
include/qemu/rcu_queue.h
+++ b/
include/qemu/rcu_queue.h
@@
-112,7
+112,7
@@
extern "C" {
(elm)->field.le_next->field.le_prev = \
(elm)->field.le_prev; \
} \
-
*(elm)->field.le_prev = (elm)->field.le_next;
\
+
atomic_set((elm)->field.le_prev, (elm)->field.le_next);
\
} while (/*CONSTCOND*/0)
/* List traversal must occur within an RCU critical section. */