Merge branch '2022-06-23-fuzzing-and-asan-for-sandbox' into next
authorTom Rini <trini@konsulko.com>
Thu, 23 Jun 2022 18:24:24 +0000 (14:24 -0400)
committerTom Rini <trini@konsulko.com>
Thu, 23 Jun 2022 18:24:24 +0000 (14:24 -0400)
commit3e00721b3b8fed05a99cfcde5b4fdc210f0b33ab
tree7a942f93d9884d9c1fd7b905c1a2078f8207d18b
parent9121478ee6f2aee381f8fe49d8997d43527d351a
parenta73f3ba91f15e08d6a7ec8cf0408aed517d22bb1
Merge branch '2022-06-23-fuzzing-and-asan-for-sandbox' into next

To quote the author:
This series introduces ASAN and a basic fuzzing infrastructure that
works with sandbox. The example fuzz test towards the end of the series
will find something pretty quickly. That something is fixed by the
series "virtio: Harden and test vring" that needs to be applied for the
final patch in this series.

There is some refactoring to stop using '.' prefixed sections. ELF
defines sections with names that contain anything that isn't
alphanumeric or an underscore as being for system use which means
clang's ASAN instrumentation happily add redzones between the contained
objects. That's not what we want for things like linker lists where the
linker script has carefully placed the sections contiguously. By
renaming the sections, clang sees them as user sections and doesn't add
instrumentation.

ASAN is left disabled by default as there are still some tests that it
triggers on and will need some more investigation to fix. It can be
enabled with CONFIG_ASAN or passing `-a ASAN` to buildman.