mirror of https://gitee.com/openkylin/linux.git
5ae5fbd210
Running "perf mem record" in powerpc platforms with selinux enabled resulted in soft lockup's. Below call-trace was seen in the logs: CPU: 58 PID: 3751 Comm: sssd_nss Not tainted 5.11.0-rc7+ #2 NIP: c000000000dff3d4 LR: c000000000dff3d0 CTR: 0000000000000000 REGS: c000007fffab7d60 TRAP: 0100 Not tainted (5.11.0-rc7+) ... NIP _raw_spin_lock_irqsave+0x94/0x120 LR _raw_spin_lock_irqsave+0x90/0x120 Call Trace: 0xc00000000fd47260 (unreliable) skb_queue_tail+0x3c/0x90 audit_log_end+0x6c/0x180 common_lsm_audit+0xb0/0xe0 slow_avc_audit+0xa4/0x110 avc_has_perm+0x1c4/0x260 selinux_perf_event_open+0x74/0xd0 security_perf_event_open+0x68/0xc0 record_and_restart+0x6e8/0x7f0 perf_event_interrupt+0x22c/0x560 performance_monitor_exception0x4c/0x60 performance_monitor_common_virt+0x1c8/0x1d0 interrupt: f00 at _raw_spin_lock_irqsave+0x38/0x120 NIP: c000000000dff378 LR: c000000000b5fbbc CTR: c0000000007d47f0 REGS: c00000000fd47860 TRAP: 0f00 Not tainted (5.11.0-rc7+) ... NIP _raw_spin_lock_irqsave+0x38/0x120 LR skb_queue_tail+0x3c/0x90 interrupt: f00 0x38 (unreliable) 0xc00000000aae6200 audit_log_end+0x6c/0x180 audit_log_exit+0x344/0xf80 __audit_syscall_exit+0x2c0/0x320 do_syscall_trace_leave+0x148/0x200 syscall_exit_prepare+0x324/0x390 system_call_common+0xfc/0x27c The above trace shows that while the CPU was handling a performance monitor exception, there was a call to security_perf_event_open() function. In powerpc core-book3s, this function is called from perf_allow_kernel() check during recording of data address in the sample via perf_get_data_addr(). Commit |
||
---|---|---|
.. | ||
req-gen | ||
8xx-pmu.c | ||
Makefile | ||
bhrb.S | ||
callchain.c | ||
callchain.h | ||
callchain_32.c | ||
callchain_64.c | ||
core-book3s.c | ||
core-fsl-emb.c | ||
e500-pmu.c | ||
e6500-pmu.c | ||
generic-compat-pmu.c | ||
hv-24x7-catalog.h | ||
hv-24x7-domains.h | ||
hv-24x7.c | ||
hv-24x7.h | ||
hv-common.c | ||
hv-common.h | ||
hv-gpci-requests.h | ||
hv-gpci.c | ||
hv-gpci.h | ||
imc-pmu.c | ||
internal.h | ||
isa207-common.c | ||
isa207-common.h | ||
mpc7450-pmu.c | ||
perf_regs.c | ||
power5+-pmu.c | ||
power5-pmu.c | ||
power6-pmu.c | ||
power7-events-list.h | ||
power7-pmu.c | ||
power8-events-list.h | ||
power8-pmu.c | ||
power9-events-list.h | ||
power9-pmu.c | ||
power10-events-list.h | ||
power10-pmu.c | ||
ppc970-pmu.c |