Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2930880pxj; Sun, 6 Jun 2021 19:56:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwF8oSXuqp7UG/C11FpHxLu09wHWtjBmaiU/aGc2ypS0CcB/2n4nZCQXrzYgz7FOW+JWVLk X-Received: by 2002:a05:6402:1052:: with SMTP id e18mr17918898edu.366.1623034602653; Sun, 06 Jun 2021 19:56:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623034602; cv=none; d=google.com; s=arc-20160816; b=Nc3IU/Ve9UllHAe007jnjSTNsgacOsq7pnUn8ajlk5yjX36adfBm5sufxqpIyKBCoo 7b/6ygbaZ2Rx4ilF5VbB8TJBGaJvvJjM+IdrCIIubjBxHEvxDNc+p0JTK3+SE1l1ihmL ObVbpj5UwlCdedscde3C/8F5syJSTgBKd2rUcramYLC1tjjmVQMNkqDStAtNpsyf80qc B00bJuT24mYE+KWXswkRPMIdARXPZ2DjqSXcSpyXh2Q54LyjREjGcquXfEKlzaJDNLvs 7SW9vOCN+xFVagnv6q1jzPunm16y+g4VjEoEalczBeWsQsaM4aMJzXI5yvZPob2yVcc3 rB/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=4306+CrW/VU5mmiwkXUsuYKoOfve/WDX4mOWWCeTTBM=; b=iVhLBXn9YZ6S8M3Q0hV8JmyH8QZeyXCfmld+W3JT6eMiup2RJiDx7X+O5UaIQfhcBc YtKMz4Fzq4j1CVDykOcdaZbqgq/fMLFECWthfFN/2AksT/hS1bJLp6dbC8EyhOxIfqhL MZ03GDBcNmq6G7j5rYVkl5YT9mYY//RIFTJU3OzZDImu7mO31plSJmx2VlgBcZD8Dc+B DVpaenpW6bF4P/K6+jrV+UVtLSkGTvGp3985mYRNb3z7Y1wwWK5lyzHVmSxnCfTyuFQ7 K7gIjHrCsGZ3WqOMo849OVvEZLzabMjxIcXBHOVoH9CTntz8SC6GEDXo9fZVqSa/yksu enQA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v7si13884881edj.541.2021.06.06.19.56.20; Sun, 06 Jun 2021 19:56:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230161AbhFGC4K (ORCPT + 99 others); Sun, 6 Jun 2021 22:56:10 -0400 Received: from ZXSHCAS2.zhaoxin.com ([203.148.12.82]:24429 "EHLO ZXSHCAS2.zhaoxin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230127AbhFGC4J (ORCPT ); Sun, 6 Jun 2021 22:56:09 -0400 Received: from zxbjmbx2.zhaoxin.com (10.29.252.164) by ZXSHCAS2.zhaoxin.com (10.28.252.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.14; Mon, 7 Jun 2021 10:54:16 +0800 Received: from zx.zhaoxin.com (10.28.64.91) by zxbjmbx2.zhaoxin.com (10.29.252.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.14; Mon, 7 Jun 2021 10:54:15 +0800 From: Cody Yao-oc To: , , , , , , , , , , CC: , , , CodyYao-oc Subject: [PATCH] x86/perf: Fixed obtaining address error about performance monitor MSR on old Inel CPU. Date: Mon, 7 Jun 2021 10:53:35 +0800 Message-ID: <20210607025335.9643-1-CodyYao-oc@zhaoxin.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.28.64.91] X-ClientProxiedBy: ZXSHCAS1.zhaoxin.com (10.28.252.161) To zxbjmbx2.zhaoxin.com (10.29.252.164) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: CodyYao-oc Fix "obtain wrong msr address" bug in function nmi_perfctr_msr_to_bit and nmi_eventsel_msr_to_bit. In X86_VENDOR_INTEL switch branch, if all of the check conditions are not met, code flow will slip to X86_VENDOR_ZHAOXIN branch which may lead to incorrect information. Using fallthrough instead of break was completely unintentional, therefore, "fallthrough" should be changed to "break". Fixes: 3a4ac121c2ca ("x86/perf: Add hardware performance events support for Zhaoxin CPU.") Signed-off-by: CodyYao-oc --- arch/x86/kernel/cpu/perfctr-watchdog.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/perfctr-watchdog.c b/arch/x86/kernel/cpu/perfctr-watchdog.c index 3ef5868ac588..7aecb2fc3186 100644 --- a/arch/x86/kernel/cpu/perfctr-watchdog.c +++ b/arch/x86/kernel/cpu/perfctr-watchdog.c @@ -63,7 +63,7 @@ static inline unsigned int nmi_perfctr_msr_to_bit(unsigned int msr) case 15: return msr - MSR_P4_BPU_PERFCTR0; } - fallthrough; + break; case X86_VENDOR_ZHAOXIN: case X86_VENDOR_CENTAUR: return msr - MSR_ARCH_PERFMON_PERFCTR0; @@ -96,7 +96,7 @@ static inline unsigned int nmi_evntsel_msr_to_bit(unsigned int msr) case 15: return msr - MSR_P4_BSU_ESCR0; } - fallthrough; + break; case X86_VENDOR_ZHAOXIN: case X86_VENDOR_CENTAUR: return msr - MSR_ARCH_PERFMON_EVENTSEL0; -- 2.17.1