/* * Copyright 2015, Michael Neuling, IBM Corp. * Licensed under GPLv2. * * Test the kernel's signal delievery code to ensure that we don't * trelaim twice in the kernel signal delivery code. This can happen * if we trigger a signal when in a transaction and the stack pointer * is bogus. * * This test case registers a SEGV handler, sets the stack pointer * (r1) to NULL, starts a transaction and then generates a SEGV. The * SEGV should be handled but we exit here as the stack pointer is * invalid and hance we can't sigreturn. We only need to check that * this flow doesn't crash the kernel. */ #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> #include <stdlib.h> #include <stdio.h> #include <signal.h> #include "utils.h" #include "tm.h"
void signal_segv(int signum) { /* This should never actually run since stack is foobar */ exit(1); }Contributors
Person | Tokens | Prop | Commits | CommitProp | |
michael neuling | michael neuling | 14 | 100.00% | 1 | 100.00% |
Total | 14 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
michael neuling | michael neuling | 75 | 97.40% | 1 | 50.00% |
rashmica gupta | rashmica gupta | 2 | 2.60% | 1 | 50.00% |
Total | 77 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
michael neuling | michael neuling | 15 | 100.00% | 1 | 100.00% |
Total | 15 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
michael neuling | michael neuling | 129 | 98.47% | 1 | 50.00% |
rashmica gupta | rashmica gupta | 2 | 1.53% | 1 | 50.00% |
Total | 131 | 100.00% | 2 | 100.00% |