|
@@ -198,6 +198,10 @@ static inline void perf_get_data_addr(struct pt_regs *regs, u64 *addrp)
|
|
|
|
|
|
if (!(mmcra & MMCRA_SAMPLE_ENABLE) || sdar_valid)
|
|
if (!(mmcra & MMCRA_SAMPLE_ENABLE) || sdar_valid)
|
|
*addrp = mfspr(SPRN_SDAR);
|
|
*addrp = mfspr(SPRN_SDAR);
|
|
|
|
+
|
|
|
|
+ if (perf_paranoid_kernel() && !capable(CAP_SYS_ADMIN) &&
|
|
|
|
+ is_kernel_addr(mfspr(SPRN_SDAR)))
|
|
|
|
+ *addrp = 0;
|
|
}
|
|
}
|
|
|
|
|
|
static bool regs_sihv(struct pt_regs *regs)
|
|
static bool regs_sihv(struct pt_regs *regs)
|