Ping On Wed, Jan 01, 2025 at 08:23:06AM +0000, Wei Yang wrote: >The example code for "Eliminating Stale Data" looks not correct: > > * rcu_read_unlock() should put after kstrdup() > * spin_unlock() should be called before return > >Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> > >--- >Hope my understanding is correct. >--- > Documentation/RCU/listRCU.rst | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > >diff --git a/Documentation/RCU/listRCU.rst b/Documentation/RCU/listRCU.rst >index ed5c9d8c9afe..8df50fcd69fd 100644 >--- a/Documentation/RCU/listRCU.rst >+++ b/Documentation/RCU/listRCU.rst >@@ -348,9 +348,10 @@ to accomplish this would be to add a ``deleted`` flag and a ``lock`` spinlock to > rcu_read_unlock(); > return AUDIT_BUILD_CONTEXT; > } >- rcu_read_unlock(); > if (state == AUDIT_STATE_RECORD) > *key = kstrdup(e->rule.filterkey, GFP_ATOMIC); >+ spin_unlock(&e->lock); >+ rcu_read_unlock(); > return state; > } > } >-- >2.34.1 -- Wei Yang Help you, Help me