From patchwork Thu Apr 15 14:48:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 421795 Delivered-To: patch@linaro.org Received: by 2002:a02:6a6f:0:0:0:0:0 with SMTP id m47csp558506jaf; Thu, 15 Apr 2021 08:06:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxnvKtjaSNxL4IEsDUUxX54IFhx/6TlrAOYoxBkT4kmZ0rjg7Gor4X5FTrfYNc66gPRo5ru X-Received: by 2002:a17:90a:17a3:: with SMTP id q32mr3409762pja.85.1618499162342; Thu, 15 Apr 2021 08:06:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618499162; cv=none; d=google.com; s=arc-20160816; b=FgNZyaB28lXx90OO/xdM3gJsvX4Gcnxzbf6ten2G2DZQ94OuhK5c6jmcR8loZfiuxP 5CY1+0Kt0YPHJsMhvP1v8I08Df983ffDt1+sHD+OeXXJnFJzYtYyK5NjMKj3cEvFlMK8 CTyY+VKtQdzfN2/s+U+iLePJMP+2zxVncJyAzvvMeaVKVEYBuOMMuGx+2+sskyjm6m5/ CEgErAziTZT7jNUpEab0Uyrij45+hnyi+1qdZv/qH9fl016K7L+ZoOGX98XVKpoAMfnr ySF75RnGaFmc5kHp6JQ8Ia8zA/TvBxSbR+aluY6NHwMD/i2wJfvJx6/tpG6zyMD1ylnR Mq2A== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=t7Ug07YOXrEkz/0zYCWQPBlEre7uXRqewZtTpBAAgFk=; b=XYKp9FZTv3smXluWXE325qOOx5SiBrV0QKmH/Ca50bE0fVVDBQT+E+jJAEt3KyAatT 7DFbLJDm/sSWawGjtO9eZlrZIG6bl4rvFuPpyM9Zs8eZ2aDeT71L11THgVb2Xg2SshR/ truyNny1uWmO2grtt5WQEDg2+sR5tG22MbYNwgh2WaEtPXJvEU/2eWafKQ6QcwLE8CWT kJbjYLN1+dDnQPHZm4nR0xahiBXPS0WUD+OE5LUbgg3nHic0gnBdK3IJDPf/TPlgLNug PxaWb6rDDu+lfowqnbLDeUgYoscKZoKPlMqfeaZOQoKWP9xy77OHHc5zJy7N/KQM36Ci dx9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=VUw+QoxA; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y7si3641929plg.223.2021.04.15.08.06.02; Thu, 15 Apr 2021 08:06:02 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-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=@linuxfoundation.org header.s=korg header.b=VUw+QoxA; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234531AbhDOPGS (ORCPT + 12 others); Thu, 15 Apr 2021 11:06:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:48750 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234730AbhDOPE4 (ORCPT ); Thu, 15 Apr 2021 11:04:56 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id CAD8C6142E; Thu, 15 Apr 2021 14:58:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1618498727; bh=JxWGCbV6jMUXwHeIcwQIXx/XFYIY6QTud+Gk1jH1Yjw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VUw+QoxAWQqI/W0CVI3t9+svUatkj0DxdEuyQXbl+co+g363UardhgUlIbNgEd9+S Fv2+ievO1zPA6yGZzhBULqbJNotGl2ZB9omGLLyWl4zlAyfYQRQ/RzHmybLladp6Q2 fiBmd33NXK/w7soC+0kIiSq6jAy3FnYLjU/73QmQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Will Deacon , Catalin Marinas , Mark Rutland , Suzuki K Poulose , Marc Zyngier , Sasha Levin Subject: [PATCH 5.11 03/23] KVM: arm64: Hide system instruction access to Trace registers Date: Thu, 15 Apr 2021 16:48:10 +0200 Message-Id: <20210415144413.262864686@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210415144413.146131392@linuxfoundation.org> References: <20210415144413.146131392@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@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(-) -- 2.30.2 diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index b1f7bfadab9f..be6014fe5c3e 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -380,7 +380,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, };