// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2015, Michael Neuling, IBM Corp. * * Test the kernel's signal return code to ensure that it doesn't * crash when both the transactional and suspend MSR bits are set in * the signal context. * * For this test, we send ourselves a SIGUSR1. In the SIGUSR1 handler * we modify the signal context to set both MSR TM S and T bits (which * is "reserved" by the PowerISA). When we return from the signal * handler (implicit sigreturn), the kernel should detect reserved MSR * value and send us with a SIGSEGV.
*/
/* Link tm checkpointed context to normal context */
ucp->uc_link = ucp; /* Set all TM bits so that the context is now invalid */ #ifdef __powerpc64__
ucp->uc_mcontext.gp_regs[PT_MSR] |= (7ULL << 32); #else
ucp->uc_mcontext.uc_regs->gregs[PT_MSR] |= (7ULL); #endif /* Should segv on return becuase of invalid context */
segv_expected = 1;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.