linux/tools/testing/selftests/arm64
Mark Brown 6012b82020 kselftest/arm64: Copy whole EXTRA context
When copying the EXTRA context our calculation of the amount of data we
need to copy is incorrect, we only calculate the amount of data needed
within uc_mcontext.__reserved, not taking account of the fixed portion
of the context. Add in the offset of the reserved data so that we copy
everything we should.

This will only cause test failures in cases where the last context in the
EXTRA context is smaller than the missing data since we don't currently
validate any of the register data and all the buffers we copy into are
statically allocated so default to zero meaning that if we walk beyond the
end of what we copied we'll encounter what looks like a context with magic
and length both 0 which is a valid terminator record.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230201-arm64-kselftest-full-extra-v1-1-93741f32dd29@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2023-02-07 18:33:46 +00:00
..
abi kselftest/arm64: Correct buffer size for SME ZA storage 2023-01-20 17:54:50 +00:00
bti kselftest/arm64: Run BTI selftests on systems without BTI 2023-01-12 17:10:01 +00:00
fp kselftest/arm64: Limit the maximum VL we try to set via ptrace 2023-01-31 15:33:23 +00:00
mte kselftest/arm64: Remove spurious comment from MTE test Makefile 2023-01-20 14:30:46 +00:00
pauth kselftest/arm64: pac: Fix skipping of tests on systems without PAC 2021-08-20 12:06:59 +01:00
signal kselftest/arm64: Copy whole EXTRA context 2023-02-07 18:33:46 +00:00
tags .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Makefile kselftest/arm64: Fix ABI header directory location 2022-05-04 10:02:36 +01:00
README kselftest: arm64: extend toplevel skeleton Makefile 2019-11-08 11:10:30 +00:00

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