summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/ptrace.c2
-rw-r--r--include/asm-x86/ptrace-abi.h11
2 files changed, 10 insertions, 3 deletions
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
index e19a91db9b35..96286df1bb81 100644
--- a/arch/x86/kernel/ptrace.c
+++ b/arch/x86/kernel/ptrace.c
@@ -787,6 +787,8 @@ static int ptrace_bts_status(struct task_struct *child,
cfg.flags |= PTRACE_BTS_O_SCHED;
}
+ cfg.bts_size = sizeof(struct bts_struct);
+
if (copy_to_user(ucfg, &cfg, sizeof(cfg)))
return -EFAULT;
diff --git a/include/asm-x86/ptrace-abi.h b/include/asm-x86/ptrace-abi.h
index 08a12b790a77..81a8ee4c55fc 100644
--- a/include/asm-x86/ptrace-abi.h
+++ b/include/asm-x86/ptrace-abi.h
@@ -81,16 +81,21 @@
#define PTRACE_SINGLEBLOCK 33 /* resume execution until next branch */
#ifndef __ASSEMBLY__
+
+#include <asm/types.h>
+
/* configuration/status structure used in PTRACE_BTS_CONFIG and
PTRACE_BTS_STATUS commands.
*/
struct ptrace_bts_config {
/* requested or actual size of BTS buffer in bytes */
- unsigned int size;
+ u32 size;
/* bitmask of below flags */
- unsigned int flags;
+ u32 flags;
/* buffer overflow signal */
- unsigned int signal;
+ u32 signal;
+ /* actual size of bts_struct in bytes */
+ u32 bts_size;
};
#endif