Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools: fix atomic_set() definition to set the value correctly

Currently vma test is failing because of the new vma_assert_attached()
assertion. The check is failing because previous refcount_set() inside
vma_mark_attached() is a NoOp. Fix the definition of atomic_set() to
correctly set the value of the atomic.

Link: https://lkml.kernel.org/r/20241227222220.1726384-1-surenb@google.com
Fixes: 9325b8b5a1cb ("tools: add skeleton code for userland testing of VMA logic")
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Jann Horn <jannh@google.com>
Cc: Liam R. Howlett <Liam.Howlett@Oracle.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Suren Baghdasaryan and committed by
Andrew Morton
4bbb6df6 264a88ca

+2 -2
+1 -1
tools/testing/shared/linux/maple_tree.h
··· 2 2 #define atomic_t int32_t 3 3 #define atomic_inc(x) uatomic_inc(x) 4 4 #define atomic_read(x) uatomic_read(x) 5 - #define atomic_set(x, y) do {} while (0) 5 + #define atomic_set(x, y) uatomic_set(x, y) 6 6 #define U8_MAX UCHAR_MAX 7 7 #include "../../../../include/linux/maple_tree.h"
+1 -1
tools/testing/vma/linux/atomic.h
··· 6 6 #define atomic_t int32_t 7 7 #define atomic_inc(x) uatomic_inc(x) 8 8 #define atomic_read(x) uatomic_read(x) 9 - #define atomic_set(x, y) do {} while (0) 9 + #define atomic_set(x, y) uatomic_set(x, y) 10 10 #define U8_MAX UCHAR_MAX 11 11 12 12 #endif /* _LINUX_ATOMIC_H */