From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751100AbeAVGNL (ORCPT ); Mon, 22 Jan 2018 01:13:11 -0500 Received: from mx1.redhat.com ([209.132.183.28]:37456 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751003AbeAVGNK (ORCPT ); Mon, 22 Jan 2018 01:13:10 -0500 From: Xiao Liang To: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com Cc: linux-kernel@vger.kernel.org, x86@kernel.org, Xiao Liang Subject: [PATCH v1 1/1] perf/x86/amd/power: do not load amd power module in intel platform Date: Mon, 22 Jan 2018 14:12:52 +0800 Message-Id: <20180122061252.6394-1-xiliang@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org "power" module can be loaded if it is not amd processor. And user cannot unload it after loaded it. The following call trace generated when tried to unload it. BUG: unable to handle kernel NULL pointer dereference at (null) IP: __list_del_entry_valid+0x29/0x90 PGD 0 P4D 0 Oops: 0000 [#1] SMP PTI CPU: 1 PID: 26046 Comm: modprobe Not tainted 4.14.13-300.fc27.x86_64 #1 Hardware name: Xen HVM domU, BIOS 4.9.1 12/12/2017 task: ffff9a138f8dddc0 task.stack: ffffb0ec41cbc000 RIP: 0010:__list_del_entry_valid+0x29/0x90 Call Trace: perf_pmu_unregister+0x25/0xf0 amd_power_pmu_exit+0x1c/0xd23 [power] SyS_delete_module+0x1a8/0x2b0 ? exit_to_usermode_loop+0x8f/0xb0 entry_SYSCALL_64_fastpath+0x20/0x83 RIP: 0033:0x7fb67d78e5c7 Signed-off-by: Xiao Liang --- arch/x86/events/amd/power.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/events/amd/power.c b/arch/x86/events/amd/power.c index a6eee5ac4f58..2aefacf5c5b2 100644 --- a/arch/x86/events/amd/power.c +++ b/arch/x86/events/amd/power.c @@ -277,7 +277,7 @@ static int __init amd_power_pmu_init(void) int ret; if (!x86_match_cpu(cpu_match)) - return 0; + return -ENODEV; if (!boot_cpu_has(X86_FEATURE_ACC_POWER)) return -ENODEV; -- 2.14.3