// SPDX-License-Identifier: GPL-2.0 /* * Copyright (C) 2019 ARM Limited * * Generic test wrapper for arm64 signal tests. * * Each test provides its own tde struct tdescr descriptor to link with * this wrapper. Framework provides common helpers. */ #include #include #include #include "test_signals.h" #include "test_signals_utils.h" struct tdescr *current = &tde; int main(int argc, char *argv[]) { /* * Ensure GCS is at least enabled throughout the tests if * supported, otherwise the inability to return from the * function that enabled GCS makes it very inconvenient to set * up test cases. The prctl() may fail if GCS was locked by * libc setup code. */ if (getauxval(AT_HWCAP) & HWCAP_GCS) gcs_set_state(PR_SHADOW_STACK_ENABLE); ksft_print_msg("%s :: %s\n", current->name, current->descr); if (test_setup(current) && test_init(current)) { test_run(current); test_cleanup(current); } test_result(current); /* Do not return in case GCS was enabled */ exit(current->result); }