瀏覽代碼

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 <markus.t.metzger@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Markus Metzger 17 年之前
父節點
當前提交
87e8407f9a
共有 2 個文件被更改,包括 10 次插入3 次删除
  1. 2 0
      arch/x86/kernel/ptrace.c
  2. 8 3
      include/asm-x86/ptrace-abi.h

+ 2 - 0
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;
 

+ 8 - 3
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