diff options
Diffstat (limited to 'arch/x86/kernel/ptrace.c')
-rw-r--r-- | arch/x86/kernel/ptrace.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c index 2c8ec1ba75e6..b2998fe1166b 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, | |||
878 | { | 878 | { |
879 | unsigned char bts_record[BTS_MAX_RECORD_SIZE]; | 879 | unsigned char bts_record[BTS_MAX_RECORD_SIZE]; |
880 | 880 | ||
881 | BUG_ON(BTS_MAX_RECORD_SIZE < bts_cfg.sizeof_bts); | 881 | if (BTS_MAX_RECORD_SIZE < bts_cfg.sizeof_bts) |
882 | return -EOVERFLOW; | ||
882 | 883 | ||
883 | memset(bts_record, 0, bts_cfg.sizeof_bts); | 884 | memset(bts_record, 0, bts_cfg.sizeof_bts); |
884 | switch (in->qualifier) { | 885 | switch (in->qualifier) { |
@@ -1133,7 +1134,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
1133 | 1134 | ||
1134 | ret = ds_get_bts_index(child->bts, &size); | 1135 | ret = ds_get_bts_index(child->bts, &size); |
1135 | if (ret == 0) { | 1136 | if (ret == 0) { |
1136 | BUG_ON(size != (int) size); | 1137 | WARN_ON_ONCE(size != (int) size); |
1137 | ret = (int) size; | 1138 | ret = (int) size; |
1138 | } | 1139 | } |
1139 | break; | 1140 | break; |