summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/ptrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/ptrace.c')
-rw-r--r--arch/x86/kernel/ptrace.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
index 2c8ec1ba75e..b2998fe1166 100644
--- a/arch/x86/kernel/ptrace.c
+++ b/arch/x86/kernel/ptrace.c
@@ -878,7 +878,8 @@ static int ptrace_bts_write_record(struct task_struct *child,
{
unsigned char bts_record[BTS_MAX_RECORD_SIZE];
- BUG_ON(BTS_MAX_RECORD_SIZE < bts_cfg.sizeof_bts);
+ if (BTS_MAX_RECORD_SIZE < bts_cfg.sizeof_bts)
+ return -EOVERFLOW;
memset(bts_record, 0, bts_cfg.sizeof_bts);
switch (in->qualifier) {
@@ -1133,7 +1134,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
ret = ds_get_bts_index(child->bts, &size);
if (ret == 0) {
- BUG_ON(size != (int) size);
+ WARN_ON_ONCE(size != (int) size);
ret = (int) size;
}
break;