4dafc08d0b
Add a testcase to check that user address with valid/invalid mte tag works in kernel mode. This test verifies that the kernel API's __arch_copy_from_user/__arch_copy_to_user works by considering if the user pointer has valid/invalid allocation tags. In MTE sync mode, file memory read/write and other similar interfaces fails if a user memory with invalid tag is accessed in kernel. In async mode no such failure occurs. Signed-off-by: Amit Daniel Kachhap <amit.kachhap@arm.com> Tested-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Shuah Khan <shuah@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Link: https://lore.kernel.org/r/20201002115630.24683-7-amit.kachhap@arm.com Signed-off-by: Will Deacon <will@kernel.org>
KSelfTest ARM64 =============== - These tests are arm64 specific and so not built or run but just skipped completely when env-variable ARCH is found to be different than 'arm64' and `uname -m` reports other than 'aarch64'. - Holding true the above, ARM64 KSFT tests can be run within the KSelfTest framework using standard Linux top-level-makefile targets: $ make TARGETS=arm64 kselftest-clean $ make TARGETS=arm64 kselftest or $ make -C tools/testing/selftests TARGETS=arm64 \ INSTALL_PATH=<your-installation-path> install or, alternatively, only specific arm64/ subtargets can be picked: $ make -C tools/testing/selftests TARGETS=arm64 ARM64_SUBTARGETS="tags signal" \ INSTALL_PATH=<your-installation-path> install Further details on building and running KFST can be found in: Documentation/dev-tools/kselftest.rst