linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] kcov: don't instrument lib/find_bit.c
@ 2024-07-22 22:37 andrey.konovalov
  2024-07-23  7:56 ` Dmitry Vyukov
  0 siblings, 1 reply; 2+ messages in thread
From: andrey.konovalov @ 2024-07-22 22:37 UTC (permalink / raw)
  To: Dmitry Vyukov, Andrew Morton
  Cc: Andrey Konovalov, Aleksandr Nogikh, Marco Elver,
	Alexander Potapenko, kasan-dev, linux-mm, Yury Norov,
	Rasmus Villemoes, linux-kernel

From: Andrey Konovalov <andreyknvl@gmail.com>

This file produces large amounts of flaky coverage not useful for the
KCOV's intended use case (guiding the fuzzing process).

Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com>

---

I noticed this while running one of the syzkaller's programs.

In one run of the program, the number of KCOV entries amounts to ~300k,
with the top ones:

 117285 /home/user/src/lib/find_bit.c:137 (discriminator 10)
 116752 /home/user/src/lib/find_bit.c:137 (discriminator 3)
   2455 /home/user/src/lib/vsprintf.c:2559
   2033 /home/user/src/fs/kernfs/dir.c:317
   1662 /home/user/src/fs/kernfs/kernfs-internal.h:72
   ...

In another run (that triggers exactly the same behavior in the kernel),
the amount of entries drops to ~110k:

   7141 /home/user/src/lib/find_bit.c:137 (discriminator 10)
   7110 /home/user/src/lib/find_bit.c:137 (discriminator 3)
   2455 /home/user/src/lib/vsprintf.c:2559
   2033 /home/user/src/fs/kernfs/dir.c:317
   1662 /home/user/src/fs/kernfs/kernfs-internal.h:72
    ...

With this patch applied, the amount of KCOV entries for the same program
remains somewhat stable at ~100k.
---
 lib/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/Makefile b/lib/Makefile
index 322bb127b4dc..0fde1c360f32 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -14,6 +14,7 @@ KCOV_INSTRUMENT_list_debug.o := n
 KCOV_INSTRUMENT_debugobjects.o := n
 KCOV_INSTRUMENT_dynamic_debug.o := n
 KCOV_INSTRUMENT_fault-inject.o := n
+KCOV_INSTRUMENT_find_bit.o := n
 
 # string.o implements standard library functions like memset/memcpy etc.
 # Use -ffreestanding to ensure that the compiler does not try to "optimize"
-- 
2.25.1



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-07-23  7:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-22 22:37 [PATCH] kcov: don't instrument lib/find_bit.c andrey.konovalov
2024-07-23  7:56 ` Dmitry Vyukov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox