>From 18c81bd11d841184bee4336e78f3e9296d5f2df8 Mon Sep 17 00:00:00 2001 From: Akira Yokosawa <akiyks@xxxxxxxxx> Date: Fri, 6 Mar 2020 20:53:01 +0900 Subject: [PATCH 5/6] defer/rcuusage: Reverse nesting of fcvref and enumerate envs This change enables qqzreoder.pl to move the ending white box to the end of the last item in the list. Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx> --- defer/rcuusage.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defer/rcuusage.tex b/defer/rcuusage.tex index cc25c536..e6c3cf7e 100644 --- a/defer/rcuusage.tex +++ b/defer/rcuusage.tex @@ -942,11 +942,11 @@ and line~\lnref{ret_0:b} indicates failure to delete the specified key. before releasing the lock on line~\lnref{rel2}? \end{fcvref} \QuickQuizAnswer{ - \begin{fcvref}[ln:defer:Existence Guarantees Enable Per-Element Locking] Suppose we reverse the order of these two lines. Then this code is vulnerable to the following sequence of events: \begin{enumerate} + \begin{fcvref}[ln:defer:Existence Guarantees Enable Per-Element Locking] \item CPU~0 invokes \co{delete()}, and finds the element to be deleted, executing through line~\lnref{rdunlock2}. It has not yet actually deleted the element, but @@ -971,8 +971,8 @@ and line~\lnref{ret_0:b} indicates failure to delete the specified key. that has been freed, and, worse yet, possibly reallocated as some other type of data structure. This is a fatal memory-corruption error. - \end{enumerate} \end{fcvref} + \end{enumerate} } \QuickQuizEnd Alert readers will recognize this as only a slight variation on -- 2.17.1