Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3670920pxf; Mon, 5 Apr 2021 19:25:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9MaJzXZllSundTeD/mcgJ3+0ch8kQrCK3sEfh3VNRcxO3kWCColHB1N+aD2D734cXd9KG X-Received: by 2002:a05:6402:270c:: with SMTP id y12mr35050470edd.284.1617675932744; Mon, 05 Apr 2021 19:25:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617675932; cv=none; d=google.com; s=arc-20160816; b=FJVBEpBx5b2S8j6cz/YuqSqgD3YSFIpMB+SKGATjigRhoER4Xp4dhAz3Ut7TJp92IW IuDpdJX+y0vZOOqM9mrh6wf6vmoDx7THhwqqOJKKE2gtcD5TFzj8yEIYqcb1jMQV6HxP BWzHLmZxZsVbkCwZxOMxgVzwo39NL6WWVrCks0h/EfhnJku33lOODUtFohbMQfv49Z4f dKu8UH9nZ0afhoDRooLrQ/PttsCNo9aH+sQUqB0yW8/PrUPmL7Mi4m4LNx3T/MTThf+P HCccdNxM7SUgNfJoCuiVcItjZoH/XPzQxXb2ZtXw9NKcmRAfbtX25Bn437tlDzJNPMpp Xiuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=7n4ifP5TO6Una/rkNy6G7ufsRWad06itypZrnGOWLS8=; b=rGpJtmzhEmBE2jkSy8Ag9Dop9WKDT6Ge48G9PpdBpZwdHPSGE2X6I4Nvi8nzotWXCt lcduB4WDFLLnCtVnRb2zjwvUELrbDmiO+0278V0JEfTgO1tAIjaNhcAQAn7KD1c99QIm YR3n6b91/0HlW+CXwZNGFRwSFn5meWw+mqn4Mq6LAIQHW02NcysN3x3Fw430Hnv+ksZk RdICyNxRfcD0pqgT3vNJHrZGNQY+H+JhPnXYc6geQN1BrmdP9TBp7la2QezwHflhxts/ K0kZ15/RVdIK+L3neagAlB/z7UKVWLxoPBToPDppiZ5Sd7K21GJkTMOvyNsaaEL8w7mO UA5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fgyi5wjL; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w2si15558385edc.92.2021.04.05.19.25.09; Mon, 05 Apr 2021 19:25:32 -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; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fgyi5wjL; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240046AbhDEQGy (ORCPT + 99 others); Mon, 5 Apr 2021 12:06:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:58334 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242250AbhDEQFf (ORCPT ); Mon, 5 Apr 2021 12:05:35 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 12934613CB; Mon, 5 Apr 2021 16:05:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617638728; bh=dWdpBlt/F8Ey2+xsNIcXAu7JRQ3UrZYAdUFlHh9MDtw=; h=From:To:Cc:Subject:Date:From; b=fgyi5wjLd1fEURAok8r5+QrtcZsQmfwAGvB4vcaKs0o1SMBh/GXpTJvh6zhE4rtqh QhtlbSndUIc0gHJVzJV5dJGGpCU6kRdRk0jWG0BXWv8PCTlcPXhB0nR4e9nYRUS1bV tZqRhMW7Uk0mBuR27qhtNmcZQdokLImsxpOmt6L/0ddKMV5V5wbcuK5WcNy2elrqpN jIhSyNJ0uTLNQC9x+BjH5ImrDRNFHWaX1nGTcJXnBypcqRqLjbISh6wbI6Mtry4V+9 n5hpK1r7XkKFPY1KLhGNzTEo2GIyKPh9cYAPt0/xv9GjNliaBqtb6ZLamZHMzgRqug weAguuWyaNtsQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Suzuki K Poulose , Will Deacon , Catalin Marinas , Mark Rutland , Marc Zyngier , Sasha Levin , linux-arm-kernel@lists.infradead.org Subject: [PATCH AUTOSEL 4.14 1/5] KVM: arm64: Hide system instruction access to Trace registers Date: Mon, 5 Apr 2021 12:05:22 -0400 Message-Id: <20210405160526.269140-1-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Suzuki K Poulose [ Upstream commit 1d676673d665fd2162e7e466dcfbe5373bfdb73e ] Currently we advertise the ID_AA6DFR0_EL1.TRACEVER for the guest, when the trace register accesses are trapped (CPTR_EL2.TTA == 1). So, the guest will get an undefined instruction, if trusts the ID registers and access one of the trace registers. Lets be nice to the guest and hide the feature to avoid unexpected behavior. Even though this can be done at KVM sysreg emulation layer, we do this by removing the TRACEVER from the sanitised feature register field. This is fine as long as the ETM drivers can handle the individual trace units separately, even when there are differences among the CPUs. Cc: Will Deacon Cc: Catalin Marinas Cc: Mark Rutland Signed-off-by: Suzuki K Poulose Signed-off-by: Marc Zyngier Link: https://lore.kernel.org/r/20210323120647.454211-2-suzuki.poulose@arm.com Signed-off-by: Sasha Levin --- arch/arm64/kernel/cpufeature.c | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index 174aa12fb8b1..1481e18aa5ca 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -230,7 +230,6 @@ static const struct arm64_ftr_bits ftr_id_aa64dfr0[] = { * of support. */ S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_AA64DFR0_PMUVER_SHIFT, 4, 0), - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_TRACEVER_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_DEBUGVER_SHIFT, 4, 0x6), ARM64_FTR_END, }; -- 2.30.2