diff options
Diffstat (limited to 'arch/xtensa/kernel/process.c')
| -rw-r--r-- | arch/xtensa/kernel/process.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c index 1c85323f01d7..5bbfed81c97b 100644 --- a/arch/xtensa/kernel/process.c +++ b/arch/xtensa/kernel/process.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/unistd.h> | 24 | #include <linux/unistd.h> |
| 25 | #include <linux/ptrace.h> | 25 | #include <linux/ptrace.h> |
| 26 | #include <linux/elf.h> | 26 | #include <linux/elf.h> |
| 27 | #include <linux/hw_breakpoint.h> | ||
| 27 | #include <linux/init.h> | 28 | #include <linux/init.h> |
| 28 | #include <linux/prctl.h> | 29 | #include <linux/prctl.h> |
| 29 | #include <linux/init_task.h> | 30 | #include <linux/init_task.h> |
| @@ -43,6 +44,7 @@ | |||
| 43 | #include <linux/atomic.h> | 44 | #include <linux/atomic.h> |
| 44 | #include <asm/asm-offsets.h> | 45 | #include <asm/asm-offsets.h> |
| 45 | #include <asm/regs.h> | 46 | #include <asm/regs.h> |
| 47 | #include <asm/hw_breakpoint.h> | ||
| 46 | 48 | ||
| 47 | extern void ret_from_fork(void); | 49 | extern void ret_from_fork(void); |
| 48 | extern void ret_from_kernel_thread(void); | 50 | extern void ret_from_kernel_thread(void); |
| @@ -131,6 +133,7 @@ void flush_thread(void) | |||
| 131 | coprocessor_flush_all(ti); | 133 | coprocessor_flush_all(ti); |
| 132 | coprocessor_release_all(ti); | 134 | coprocessor_release_all(ti); |
| 133 | #endif | 135 | #endif |
| 136 | flush_ptrace_hw_breakpoint(current); | ||
| 134 | } | 137 | } |
| 135 | 138 | ||
| 136 | /* | 139 | /* |
| @@ -273,6 +276,8 @@ int copy_thread(unsigned long clone_flags, unsigned long usp_thread_fn, | |||
| 273 | ti->cpenable = 0; | 276 | ti->cpenable = 0; |
| 274 | #endif | 277 | #endif |
| 275 | 278 | ||
| 279 | clear_ptrace_hw_breakpoint(p); | ||
| 280 | |||
| 276 | return 0; | 281 | return 0; |
| 277 | } | 282 | } |
| 278 | 283 | ||
