mirror of
https://github.com/torvalds/linux.git
synced 2026-01-24 23:16:46 +00:00
kcov: load acquire coverage count in user-space code
Update the KCOV documentation to use a load-acquire operation for the first element of the shared memory buffer between kernel-space and user-space. The load-acquire pairs with the write memory barrier used in kcov_move_area(). [soham.bagchi@utah.edu: v2] Link: https://lkml.kernel.org/r/20250803180558.2967962-1-soham.bagchi@utah.edu Link: https://lkml.kernel.org/r/20250728184318.1839137-2-soham.bagchi@utah.edu Signed-off-by: Soham Bagchi <soham.bagchi@utah.edu> Reviewed-by: Marco Elver <elver@google.com> Cc: Alexander Potapenko <glider@google.com> Cc: Andrey Konovalov <andreyknvl@gmail.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Dmitriy Vyukov <dvyukov@google.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Thomas Gleinxer <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
c2fe368b6e
commit
1455b6ac21
@@ -361,7 +361,12 @@ local tasks spawned by the process and the global task that handles USB bus #1:
|
||||
*/
|
||||
sleep(2);
|
||||
|
||||
n = __atomic_load_n(&cover[0], __ATOMIC_RELAXED);
|
||||
/*
|
||||
* The load to the coverage count should be an acquire to pair with
|
||||
* pair with the corresponding write memory barrier (smp_wmb()) on
|
||||
* the kernel-side in kcov_move_area().
|
||||
*/
|
||||
n = __atomic_load_n(&cover[0], __ATOMIC_ACQUIRE);
|
||||
for (i = 0; i < n; i++)
|
||||
printf("0x%lx\n", cover[i + 1]);
|
||||
if (ioctl(fd, KCOV_DISABLE, 0))
|
||||
|
||||
Reference in New Issue
Block a user