signal.c (b65b34895437915f411882dd40d704eb0863ffb0) | signal.c (06532a6743d83fac4b79389fc8c86c88cb4e3302) |
---|---|
1/* 2 * Common signal handling code for both 32 and 64 bits 3 * 4 * Copyright (c) 2007 Benjamin Herrenschmidt, IBM Coproration 5 * Extracted from signal_32.c and signal_64.c 6 * 7 * This file is subject to the terms and conditions of the GNU General 8 * Public License. See the file README.legal in the main directory of 9 * this archive for more details. 10 */ 11 12#include <linux/tracehook.h> 13#include <linux/signal.h> | 1/* 2 * Common signal handling code for both 32 and 64 bits 3 * 4 * Copyright (c) 2007 Benjamin Herrenschmidt, IBM Coproration 5 * Extracted from signal_32.c and signal_64.c 6 * 7 * This file is subject to the terms and conditions of the GNU General 8 * Public License. See the file README.legal in the main directory of 9 * this archive for more details. 10 */ 11 12#include <linux/tracehook.h> 13#include <linux/signal.h> |
14#include <asm/hw_breakpoint.h> |
|
14#include <asm/uaccess.h> 15#include <asm/unistd.h> 16 17#include "signal.h" 18 19/* Log an error when sending an unhandled signal to a process. Controlled 20 * through debug.exception-trace sysctl. 21 */ --- 122 unchanged lines hidden (view full) --- 144 /* 145 * Reenable the DABR before delivering the signal to 146 * user space. The DABR will have been cleared if it 147 * triggered inside the kernel. 148 */ 149 if (current->thread.dabr) 150 set_dabr(current->thread.dabr); 151#endif | 15#include <asm/uaccess.h> 16#include <asm/unistd.h> 17 18#include "signal.h" 19 20/* Log an error when sending an unhandled signal to a process. Controlled 21 * through debug.exception-trace sysctl. 22 */ --- 122 unchanged lines hidden (view full) --- 145 /* 146 * Reenable the DABR before delivering the signal to 147 * user space. The DABR will have been cleared if it 148 * triggered inside the kernel. 149 */ 150 if (current->thread.dabr) 151 set_dabr(current->thread.dabr); 152#endif |
153 /* Re-enable the breakpoints for the signal stack */ 154 thread_change_pc(current, regs); |
|
152 153 if (is32) { 154 if (ka.sa.sa_flags & SA_SIGINFO) 155 ret = handle_rt_signal32(signr, &ka, &info, oldset, 156 regs); 157 else 158 ret = handle_signal32(signr, &ka, &info, oldset, 159 regs); --- 46 unchanged lines hidden --- | 155 156 if (is32) { 157 if (ka.sa.sa_flags & SA_SIGINFO) 158 ret = handle_rt_signal32(signr, &ka, &info, oldset, 159 regs); 160 else 161 ret = handle_signal32(signr, &ka, &info, oldset, 162 regs); --- 46 unchanged lines hidden --- |