All of lore.kernel.org
 help / color / mirror / Atom feed
* Arm + KASAN + syzbot
@ 2021-01-18 16:31 Dmitry Vyukov
  2021-01-19  8:36 ` Krzysztof Kozlowski
                   ` (2 more replies)
  0 siblings, 3 replies; 47+ messages in thread
From: Dmitry Vyukov @ 2021-01-18 16:31 UTC (permalink / raw)
  To: Russell King - ARM Linux, Linux ARM, Linus Walleij, liu.hailong6,
	Arnd Bergmann, kasan-dev, syzkaller, Krzysztof Kozlowski

Hello Arm maintainers,

We are considering setting up an Arm 32-bit instance on syzbot for
continuous testing using qemu emulation and I have several questions
related to that.

1. Is there interest in this on your end? What git tree/branch should
be used for testing (contains latest development and is regularly
updated with fixes)?

2. I see KASAN has just become supported for Arm, which is very
useful, but I can't boot a kernel with KASAN enabled. I am using
v5.11-rc4 and this config without KASAN boots fine:
https://gist.githubusercontent.com/dvyukov/12de2905f9479ba2ebdcc603c2fec79b/raw/c8fd3f5e8328259fe760ce9a57f3e6c6f5a95c8f/gistfile1.txt
using the following qemu command line:
qemu-system-arm \
  -machine vexpress-a15 -cpu max -smp 2 -m 2G \
  -device virtio-blk-device,drive=hd0 \
  -drive if=none,format=raw,id=hd0,file=image-arm -snapshot \
  -kernel arch/arm/boot/zImage \
  -dtb arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dtb \
  -nographic \
  -netdev user,host=10.0.2.10,hostfwd=tcp::10022-:22,id=net0 -device
virtio-net-device,netdev=net0 \
  -append "root=/dev/vda earlycon earlyprintk=serial console=ttyAMA0
oops=panic panic_on_warn=1 panic=86400 vmalloc=512M"

However, when I enable KASAN and get this config:
https://gist.githubusercontent.com/dvyukov/a7e3edd35cc39a1b69b11530c7d2e7ac/raw/7cbda88085d3ccd11227224a1c9964ccb8484d4e/gistfile1.txt

kernel does not boot, qemu only prints the following output and then silence:
pulseaudio: set_sink_input_volume() failed
pulseaudio: Reason: Invalid argument
pulseaudio: set_sink_input_mute() failed
pulseaudio: Reason: Invalid argument

What am I doing wrong?

3. CONFIG_KCOV does not seem to fully work.
It seems to work except for when the kernel crashes, and that's the
most interesting scenario for us. When the kernel crashes for other
reasons, crash handlers re-crashe in KCOV making all crashes
unactionable and indistinguishable.
Here are some samples (search for __sanitizer_cov_trace):
https://gist.githubusercontent.com/dvyukov/c8a7ff1c00a5223c5143fd90073f5bc4/raw/c0f4ac7fd7faad7253843584fed8620ac6006338/gistfile1.txt
Perhaps some additional Makefiles in arch/arm need KCOV_INSTRUMENT :=
n to fix this.
And LKDTM can be used for testing:
https://www.kernel.org/doc/html/latest/fault-injection/provoke-crashes.html

Thanks

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2021-03-15 19:05 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-18 16:31 Arm + KASAN + syzbot Dmitry Vyukov
2021-01-19  8:36 ` Krzysztof Kozlowski
2021-01-19  8:46   ` Linus Walleij
2021-01-19 10:04   ` Dmitry Vyukov
2021-01-19 10:17     ` Linus Walleij
2021-01-19 10:23       ` Dmitry Vyukov
2021-01-19 10:28         ` Linus Walleij
2021-01-19 10:53           ` Dmitry Vyukov
2021-01-19 11:05             ` Dmitry Vyukov
2021-01-19 11:13               ` Russell King - ARM Linux admin
2021-01-19 11:17                 ` Dmitry Vyukov
2021-01-19 11:43                   ` Russell King - ARM Linux admin
2021-01-19 12:05                     ` Dmitry Vyukov
2021-01-19 12:36                       ` Russell King - ARM Linux admin
2021-01-19 18:57                         ` Dmitry Vyukov
2021-01-19 19:48                           ` Russell King - ARM Linux admin
2021-01-21 13:14                             ` Russell King - ARM Linux admin
2021-01-21 13:49                               ` Dmitry Vyukov
2021-01-21 14:04                                 ` Arnd Bergmann
2021-01-21 13:59                             ` Dmitry Vyukov
2021-01-21 14:52                               ` Linus Walleij
2021-01-26 21:24                                 ` Dmitry Vyukov
2021-01-27  8:24                                   ` Linus Walleij
2021-01-27  9:39                                     ` Dmitry Vyukov
2021-01-27  9:57                                       ` Linus Walleij
2021-01-27 10:12                                         ` Dmitry Vyukov
2021-01-27 10:19                                     ` Russell King - ARM Linux admin
2021-03-11 10:54                                       ` Dmitry Vyukov
2021-03-11 13:42                                         ` Russell King - ARM Linux admin
2021-03-11 18:05                                           ` Dmitry Vyukov
2021-03-11 13:55                                         ` Linus Walleij
2021-03-11 14:09                                           ` Russell King - ARM Linux admin
2021-03-11 14:37                                             ` Linus Walleij
2021-03-11 14:55                                             ` Arnd Bergmann
2021-03-11 18:08                                               ` Dmitry Vyukov
2021-03-15 14:01                                               ` Linus Walleij
2021-03-15 19:03                                                 ` Russell King - ARM Linux admin
2021-01-19 13:22                       ` Linus Walleij
2021-01-19  8:41 ` Linus Walleij
2021-01-19  8:43   ` Linus Walleij
2021-01-19 10:18   ` Dmitry Vyukov
2021-01-19 10:27     ` Linus Walleij
2021-01-19 10:36       ` Dmitry Vyukov
2021-01-19 10:03 ` Mark Rutland
2021-01-19 10:34   ` Dmitry Vyukov
2021-01-19 10:55     ` Russell King - ARM Linux admin
2021-01-19 13:00     ` Mark Rutland

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.