Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2564444pxj; Mon, 10 May 2021 06:03:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwP11m/0Xse9epY7WjF0/1V0YXY7SggIHK9iP2Yzf5DHTvdVf+7DYcMMHxz5e0qOIOtIPcG X-Received: by 2002:a17:906:a956:: with SMTP id hh22mr25680177ejb.335.1620651779906; Mon, 10 May 2021 06:02:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620651779; cv=none; d=google.com; s=arc-20160816; b=gvUJfXP5AvuVPmnafsN5YpBiCk4/YmlniNSyWcULNGUFdaFPwFYN5bDFkXG2nzswc2 SI1kOS2hkyqMBVQE+u1IbOMQvztgCDq6o64emou0n+Rfeq3vh+tYafygKPGa8qvM8EwQ 6cfecnBaRo6JUX+a2IYreFH2+CntjVl0zbwYd/PzG7pdwCUrAinVhtPUr/vbbklo4mxn QujeYNJTshKLj4kzDfc7alAQjGng3USnSWa0hqNrRuIfL4CClpKJJWE1amNgs5qnB1TE cM1T1lO/VwWPRAEtoVaTkb7gCRMiZ9JakzPWrhb5swHKTCgU5BP5RbHszum+2euUuzOF sQjg== 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=lTdJLusb30HFOrf1SXivA2OuTlcdZmFip1+CGv7eVH8=; b=IbKyaJQW1So+zGqJflRlOqc+mCYu2jGKGFm5/fG/9Pggbh4CZuO0Awq2H9x6zVXMb3 3Nd+1e8Ivi7M3xqsG3JZAHGiXz6YdqTHOZNX3/IwilJ/WJWsCwJzX/maEwGHq/6CSwRK QxoBWl+P02hiLWVWyFRL3fjZsV+olkU+Py8UaloDnKp9dIVpupS5v5OjG3y8NUAOYf0j tLccGgA5j0GIPYJh6XDGXE3lUja3iNS5YOAIA6/dadBEoW8+rO1lv46G1H2yZkRnGTL6 40nyBf6pK0JpQgllA9D8lUfoFXfEv9UUGxfSi3+LPpDuVrDzZ9SfIHGwY05ILQCXkjqB gRiA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=xK3uwn5t; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e25si13739422eja.13.2021.05.10.06.02.30; Mon, 10 May 2021 06:02:59 -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=@linuxfoundation.org header.s=korg header.b=xK3uwn5t; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240237AbhEJMu2 (ORCPT + 99 others); Mon, 10 May 2021 08:50:28 -0400 Received: from mail.kernel.org ([198.145.29.99]:44756 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243949AbhEJL5t (ORCPT ); Mon, 10 May 2021 07:57:49 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8B45F6121E; Mon, 10 May 2021 11:56:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620647804; bh=lvQXdb1uLea5kXdp+Ftv8+KRCK1dJmRCKA5861t8EtA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xK3uwn5tg3sDk4vk3eHxU2oEQx4gLZtj6P6O9LMAOI4mO+Fl9FZBBhHgh073ChczT NWf31ASWzU3yujqug5lrUtq2gnCJMF/URqTHX3Y375r9cHaoYmFKt27bpV+DbrsADi u9LvrBNYxOZrb38mfGAAcp/mbV5J2bXSz67Go5YE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andre Przywara , Mark Brown , Catalin Marinas , Sasha Levin Subject: [PATCH 5.12 088/384] kselftest/arm64: mte: Fix MTE feature detection Date: Mon, 10 May 2021 12:17:57 +0200 Message-Id: <20210510102017.788324435@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102014.849075526@linuxfoundation.org> References: <20210510102014.849075526@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andre Przywara [ Upstream commit 592432862cc4019075a7196d9961562c49507d6f ] To check whether the CPU and kernel support the MTE features we want to test, we use an (emulated) CPU ID register read. However we only check against a very particular feature version (0b0010), even though the ARM ARM promises ID register features to be backwards compatible. While this could be fixed by using ">=" instead of "==", we should actually use the explicit HWCAP2_MTE hardware capability, exposed by the kernel via the ELF auxiliary vectors. That moves this responsibility to the kernel, and fixes running the tests on machines with FEAT_MTE3 capability. Signed-off-by: Andre Przywara Reviewed-by: Mark Brown Link: https://lore.kernel.org/r/20210319165334.29213-7-andre.przywara@arm.com Signed-off-by: Catalin Marinas Signed-off-by: Sasha Levin --- tools/testing/selftests/arm64/mte/mte_common_util.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/tools/testing/selftests/arm64/mte/mte_common_util.c b/tools/testing/selftests/arm64/mte/mte_common_util.c index 39f8908988ea..70665ba88cbb 100644 --- a/tools/testing/selftests/arm64/mte/mte_common_util.c +++ b/tools/testing/selftests/arm64/mte/mte_common_util.c @@ -278,22 +278,13 @@ int mte_switch_mode(int mte_option, unsigned long incl_mask) return 0; } -#define ID_AA64PFR1_MTE_SHIFT 8 -#define ID_AA64PFR1_MTE 2 - int mte_default_setup(void) { - unsigned long hwcaps = getauxval(AT_HWCAP); + unsigned long hwcaps2 = getauxval(AT_HWCAP2); unsigned long en = 0; int ret; - if (!(hwcaps & HWCAP_CPUID)) { - ksft_print_msg("FAIL: CPUID registers unavailable\n"); - return KSFT_FAIL; - } - /* Read ID_AA64PFR1_EL1 register */ - asm volatile("mrs %0, id_aa64pfr1_el1" : "=r"(hwcaps) : : "memory"); - if (((hwcaps >> ID_AA64PFR1_MTE_SHIFT) & MT_TAG_MASK) != ID_AA64PFR1_MTE) { + if (!(hwcaps2 & HWCAP2_MTE)) { ksft_print_msg("FAIL: MTE features unavailable\n"); return KSFT_SKIP; } -- 2.30.2