This is a series which refactors and then adds some extra tests for MTE in the kselftest framework.
The issue that these tests are for was was fixed by Robin in 295cf156231c ("arm64: Avoid premature usercopy failure") and based on a simplified example by Catalin [1].
They test some combinations of pointer offsets, sizes and syscalls to exercise different paths in the kernel.
Changes since v2 [3]: - simplified error handling further - added more detailed commit messages - add reviewed-by and tested-by
Changes since v1 [2]: - add a page_sz to the tests, for non-4K kernels - use loops to generate more tests and avoid long lines
Thanks, Joey
[1] https://lore.kernel.org/all/20210624150911.GA25097@arm.com/ [2] https://lore.kernel.org/linux-arm-kernel/20220125150920.23955-1-joey.gouly@a... [3] https://lore.kernel.org/linux-arm-kernel/45ab2d96-c8e0-7b72-a384-c4160b9312a...
Joey Gouly (6): kselftest/arm64: mte: user_mem: introduce tag_offset and tag_len kselftest/arm64: mte: user_mem: rework error handling kselftest/arm64: mte: user_mem: check different offsets and sizes kselftest/arm64: mte: user_mem: add test type enum kselftest/arm64: mte: user_mem: add more test types kselftest/arm64: mte: user_mem: test a wider range of values
.../selftests/arm64/mte/check_user_mem.c | 193 +++++++++++++++--- 1 file changed, 160 insertions(+), 33 deletions(-)