lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 14 Feb 2020 12:01:30 +0800
From:   Boqun Feng <>
Cc:     Alan Stern <>,
        Andrea Parri <>,
        Will Deacon <>,
        Peter Zijlstra <>,
        Boqun Feng <>,
        Nicholas Piggin <>,
        David Howells <>,
        Jade Alglave <>,
        Luc Maranget <>,
        "Paul E. McKenney" <>,
        Akira Yokosawa <>,
        Daniel Lustig <>,
        Jonathan Corbet <>,,
Subject: [RFC 1/3] Documentation/locking/atomic: Fix atomic-set litmus test

Currently the litmus test "atomic-set" in atomic_t.txt has a few things
to be improved:

1)	The CPU/Processor numbers "P1,P2" are not only inconsistent with
	the rest of the document, which uses "CPU0" and "CPU1", but also
	unacceptable by the herd tool, which requires processors start
	at "P0".

2)	The initialization block uses a "atomic_set()", which is OK, but
	it's better to use ATOMIC_INIT() to make clear this is an

3)	The return value of atomic_add_unless() is discarded
	inexplicitly, which is OK for C language, but it will be helpful
	to the herd tool if we use a void cast to make the discard

Therefore fix these and this is the preparation for adding the litmus
test into memory-model litmus-tests directory so that people can
understand better about our requirements of atomic APIs and klitmus tool
can be used to generate tests.

Signed-off-by: Boqun Feng <>
 Documentation/atomic_t.txt | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Documentation/atomic_t.txt b/Documentation/atomic_t.txt
index 0ab747e0d5ac..ceb85ada378e 100644
--- a/Documentation/atomic_t.txt
+++ b/Documentation/atomic_t.txt
@@ -91,15 +91,15 @@ ops. That is:
   C atomic-set
-    atomic_set(v, 1);
+    atomic_t v = ATOMIC_INIT(1);
-  P1(atomic_t *v)
+  P0(atomic_t *v)
-    atomic_add_unless(v, 1, 0);
+    (void)atomic_add_unless(v, 1, 0);
-  P2(atomic_t *v)
+  P1(atomic_t *v)
     atomic_set(v, 0);

Powered by blists - more mailing lists