diff options
author | Peter Zijlstra <peterz@infradead.org> | 2020-10-30 14:14:21 +0300 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2020-11-09 20:12:34 +0300 |
commit | 76a4efa80900fc40e0fdf243b42aec9fb8c35d24 (patch) | |
tree | e71668f6517452f1f7c13aac88a9dabab3f47b94 /include/linux/perf_regs.h | |
parent | 09da9c81253dd8e43e0d2d7cea02de6f9f19499d (diff) | |
download | linux-76a4efa80900fc40e0fdf243b42aec9fb8c35d24.tar.xz |
perf/arch: Remove perf_sample_data::regs_user_copy
struct perf_sample_data lives on-stack, we should be careful about it's
size. Furthermore, the pt_regs copy in there is only because x86_64 is a
trainwreck, solve it differently.
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Steven Rostedt <rostedt@goodmis.org>
Link: https://lkml.kernel.org/r/20201030151955.258178461@infradead.org
Diffstat (limited to 'include/linux/perf_regs.h')
-rw-r--r-- | include/linux/perf_regs.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/include/linux/perf_regs.h b/include/linux/perf_regs.h index 2d12e97d5e7b..f632c5725f16 100644 --- a/include/linux/perf_regs.h +++ b/include/linux/perf_regs.h @@ -20,8 +20,7 @@ u64 perf_reg_value(struct pt_regs *regs, int idx); int perf_reg_validate(u64 mask); u64 perf_reg_abi(struct task_struct *task); void perf_get_regs_user(struct perf_regs *regs_user, - struct pt_regs *regs, - struct pt_regs *regs_user_copy); + struct pt_regs *regs); #else #define PERF_REG_EXTENDED_MASK 0 @@ -42,8 +41,7 @@ static inline u64 perf_reg_abi(struct task_struct *task) } static inline void perf_get_regs_user(struct perf_regs *regs_user, - struct pt_regs *regs, - struct pt_regs *regs_user_copy) + struct pt_regs *regs) { regs_user->regs = task_pt_regs(current); regs_user->abi = perf_reg_abi(current); |