From nobody Thu Nov 13 13:41:00 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1580343619249393.9646043113288; Wed, 29 Jan 2020 16:20:19 -0800 (PST) Received: from localhost ([::1]:54058 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwxZC-0000KW-6Q for importer@patchew.org; Wed, 29 Jan 2020 19:20:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45688) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwxCk-0004XN-0C for qemu-devel@nongnu.org; Wed, 29 Jan 2020 18:57:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iwxCi-0000N6-J3 for qemu-devel@nongnu.org; Wed, 29 Jan 2020 18:57:05 -0500 Received: from mail-pl1-x641.google.com ([2607:f8b0:4864:20::641]:42928) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iwxCi-0000Hf-C3 for qemu-devel@nongnu.org; Wed, 29 Jan 2020 18:57:04 -0500 Received: by mail-pl1-x641.google.com with SMTP id p9so586159plk.9 for ; Wed, 29 Jan 2020 15:57:00 -0800 (PST) Received: from localhost.localdomain (97-126-123-70.tukw.qwest.net. [97.126.123.70]) by smtp.gmail.com with ESMTPSA id r3sm3953626pfg.145.2020.01.29.15.56.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Jan 2020 15:56:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=47cVy0hqEAMv3Vw0sowdk1lwNWBNZcow7HnX+kqWQog=; b=I0PMN74QX8YKAideovtud78B/mmx1V0afCiAs48L0qR3IhdK/tg6zIt9HK28LyMTot adiLSME/LqU73M2qDlZ05swbc9yo2bq8E3M6FegykSd5U+Rw1JYtW5Bhi9Hyz8MZBwyY M7Goyv59WAnIpkWV7Ib2KL3uLvEdD/cmxXGVvighOtKn3Bqj2TIwRWoZRJBnIWrLoXKS LNgBIK8hheI6/RHPuIHcCxgvUphAP3YlV972LTLSxPtIuaYVHITf99mk4ikn95h5WH0w pTK7T5J5eL8v3EAMy5dwgw5T4K2qBfz77NbgC+BQnitK6Y0UT4fJSbo+/6lVsVvYoSSj JLeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=47cVy0hqEAMv3Vw0sowdk1lwNWBNZcow7HnX+kqWQog=; b=LoJrngawNvYzHFE00KsGjkQP1rbLfUdjsOuMqlQcbUPVuR2upH8HGeK7lwHciUqfXj GR8xnL61qQHLGXEGDkIap2hZiLPh8j5DkplvGTABC9NIQ+XdBbMd97d7smvnFBSCMmhw R/lOaMrVPMrCUZOYdm9D+7q77wUKM9xp1BHyNAK3qxkxVYdeNP0Exc3wSO+OTnUvCm+z lyMt4WR13Z0+dGNes+MT447DHeyv3Ldiohlf2uL6Zo2Dtcvt+zkxvsC58U5KFoqPuQFO qV6hhe9YTCHlAFl7gCSkFtTQ7tZ1nACXLFfnSN/PNVpJnZphp/h8+qNO4mTOpU7vkeyX apPw== X-Gm-Message-State: APjAAAVH1dMdPf4XmnfQqI84lgkZ5ezhOQ8oPdO4kkIOTOhneS46tgHz 9S/VYczp7amxLtmzeS6wSOJ5NTkfDVc= X-Google-Smtp-Source: APXvYqx0WzVeEPGXCOSLCQN9kzyNAKxA7W5BlqufqhHIMQ6o9+LJLSUpkmfCA6DZMO/HrtUxxDAWKQ== X-Received: by 2002:a17:902:680c:: with SMTP id h12mr1939230plk.102.1580342219398; Wed, 29 Jan 2020 15:56:59 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v5 34/41] target/arm: check TGE and E2H flags for EL0 pauth traps Date: Wed, 29 Jan 2020 15:56:07 -0800 Message-Id: <20200129235614.29829-35-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200129235614.29829-1-richard.henderson@linaro.org> References: <20200129235614.29829-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::641 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Alex Benn=C3=A9e According to ARM ARM we should only trap from the EL1&0 regime. Reviewed-by: Peter Maydell Signed-off-by: Alex Benn=C3=A9e Signed-off-by: Richard Henderson --- target/arm/pauth_helper.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/target/arm/pauth_helper.c b/target/arm/pauth_helper.c index e0c401c4a9..9746e32bf8 100644 --- a/target/arm/pauth_helper.c +++ b/target/arm/pauth_helper.c @@ -371,7 +371,10 @@ static void pauth_check_trap(CPUARMState *env, int el,= uintptr_t ra) if (el < 2 && arm_feature(env, ARM_FEATURE_EL2)) { uint64_t hcr =3D arm_hcr_el2_eff(env); bool trap =3D !(hcr & HCR_API); - /* FIXME: ARMv8.1-VHE: trap only applies to EL1&0 regime. */ + if (el =3D=3D 0) { + /* Trap only applies to EL1&0 regime. */ + trap &=3D (hcr & (HCR_E2H | HCR_TGE)) !=3D (HCR_E2H | HCR_TGE); + } /* FIXME: ARMv8.3-NV: HCR_NV trap takes precedence for ERETA[AB]. = */ if (trap) { pauth_trap(env, 2, ra); --=20 2.20.1