From 87e8407f9ad2a2df901c4b690ab0a2bf0fb168c5 Mon Sep 17 00:00:00 2001 From: Markus Metzger Date: Wed, 30 Jan 2008 13:32:54 +0100 Subject: [PATCH] x86, ptrace: add bts_struct size to status command Return the size of bts_struct in the PTRACE_BTS_STATUS command. Change types to u32. Signed-off-by: Markus Metzger Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar --- arch/x86/kernel/ptrace.c | 2 ++ include/asm-x86/ptrace-abi.h | 11 ++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c index e19a91db9b3..96286df1bb8 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 08a12b790a7..81a8ee4c55f 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 + /* 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