On Sat, Jul 2, 2022 at 12:06 PM David Gow davidgow@google.com wrote:
On Sat, Jul 2, 2022 at 6:33 AM Luis Chamberlain mcgrof@kernel.org wrote:
On Fri, Jul 01, 2022 at 04:47:44PM +0800, David Gow wrote:
Make any kselftest test module (using the kselftest_module framework) taint the kernel with TAINT_TEST on module load.
Note that several selftests use kernel modules which are not based on the kselftest_module framework, and so will not automatically taint the kernel.
This can be done in two ways:
- Moving the module to the tools/testing directory. All modules under this directory will taint the kernel.
- Adding the 'test' module property with: MODULE_INFO(test, "Y")
This just needs to be documented somewhere other than a commit log. Otherwise I am not sure how we can be sure it will catch on.
I've updated the kselftest documentation for v5.
Similarly, selftests which do not load modules into the kernel generally should not taint the kernel (or possibly should only do so on failure), as it's assumed that testing from user-space should be safe. Regardless, they can write to /proc/sys/kernel/tainted if required.
Signed-off-by: David Gow davidgow@google.com
Looks good otherwise!
Reviewed-by: Luis Chamberlain mcgrof@kernel.org
Do we want this to go through selftest / kunit / modules tree? Happy for it to through any. I can't predict a conflict.
I don't mind which tree it goes through either -- I'm not aware of anything which would depend on it. I do have it on the list of things pending for the KUnit tree, but it's much less KUnit-specific now compared to v1. Regardless, I'll leave in the KUnit to-do list, and we'll pick it up if no-one else particularly wants to.
FYI: It looks like patches 1 & 3 are already in the kunit tree, so it makes sense to take the rest of them, too: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git/lo...
Cheers, -- David