On 13/08/2019 17:24, Dave Martin wrote:
On Fri, Aug 02, 2019 at 06:02:52PM +0100, Cristian Marussi wrote:
Added a simple mangle testcase which messes with the ucontext_t
Strange past tense? How about "Add"?
from within the sig_handler, trying to set PSTATE DAIF bits to an
"signal handler"?
Ok I'll fix the commit message and use imperative mood.
Cheers
Cristian
invalid value (masking everything). Expects SIGSEGV on test PASS.
Signed-off-by: Cristian Marussi cristian.marussi@arm.com
.../arm64/signal/testcases/.gitignore | 1 + .../mangle_pstate_invalid_daif_bits.c | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 tools/testing/selftests/arm64/signal/testcases/mangle_pstate_invalid_daif_bits.c
diff --git a/tools/testing/selftests/arm64/signal/testcases/.gitignore b/tools/testing/selftests/arm64/signal/testcases/.gitignore index 8651272e3cfc..8a0a29f0cc2a 100644 --- a/tools/testing/selftests/arm64/signal/testcases/.gitignore +++ b/tools/testing/selftests/arm64/signal/testcases/.gitignore @@ -1 +1,2 @@ mangle_pstate_invalid_compat_toggle +mangle_pstate_invalid_daif_bits diff --git a/tools/testing/selftests/arm64/signal/testcases/mangle_pstate_invalid_daif_bits.c b/tools/testing/selftests/arm64/signal/testcases/mangle_pstate_invalid_daif_bits.c new file mode 100644 index 000000000000..af899d4bb655 --- /dev/null +++ b/tools/testing/selftests/arm64/signal/testcases/mangle_pstate_invalid_daif_bits.c @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* Copyright (C) 2019 ARM Limited */
+#include "test_signals_utils.h" +#include "testcases.h"
+static int mangle_invalid_pstate_run(struct tdescr *td, siginfo_t *si,
ucontext_t *uc)
+{
- ASSERT_GOOD_CONTEXT(uc);
- /*
* This config should trigger a SIGSEGV by Kernel when it checks
* the sigframe consistency in valid_user_regs() routine.
*/
- uc->uc_mcontext.pstate |= PSR_D_BIT | PSR_A_BIT | PSR_I_BIT | PSR_F_BIT;
- return 1;
+}
Hmmm, there was a lot of common framework code, but it seems like a good investment if adding a new test is as simple as this :)
[...]
Cheers ---Dave