On Fri, Jul 31, 2020 at 9:25 PM 'Andrey Konovalov' via kasan-dev kasan-dev@googlegroups.com wrote:
On Fri, Jul 31, 2020 at 6:43 AM David Gow davidgow@google.com wrote:
This patchset contains everything needed to integrate KASAN and KUnit.
KUnit will be able to: (1) Fail tests when an unexpected KASAN error occurs (2) Pass tests when an expected KASAN error occurs
Convert KASAN tests to KUnit with the exception of copy_user_test because KUnit is unable to test those.
Add documentation on how to run the KASAN tests with KUnit and what to expect when running these tests.
This patchset depends on:
- "kunit: extend kunit resources API" [1]
- This is already present in the kselftest/kunit branch
I'd _really_ like to get this into 5.9 if possible: we also have some other changes which depend on some things here.
Hi David,
You'll need to rebase this on top of the mm tree, which currently contains Walter's patch titled "kasan: fix KASAN unit tests for tag-based KASAN".
There's also another patch that touches KASAN tests in the series I've just mailed titled "kasan: support stack instrumentation for tag-based mode".
Thanks!
I've rebased this on top of a linux-next (with the pending KUnit patches from kselftest/kunit and the "kasan: support stack instrumentation for tag-based mode" patchset applied): https://lore.kernel.org/linux-kselftest/20200801070924.1786166-1-davidgow@go...
Note that the RCU test doesn't seem to be compatible with KUnit's KASAN integration at present: I'm no expert on RCU, but it looks like the current test context might not be propagated to the callback, so expecting the failure doesn't work. Given that KUnit also doesn't look for the aux stacks (just that a failure occurred), it seemed best to avoid trying to port that one to KUnit, so I've left it in the test_kasan_module.c file. It may be possible to port it at a later date.
Note that I don't have an arm64 setup here, so I haven't actually tested the tag-based KASAN stuff yet.
Cheers, -- David