Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2556385pxj; Mon, 10 May 2021 05:52:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxfebhRVjK6+Jvdkn2HvqEkESxjXjrZw9E89GVZzuSkhXzJMdNxNdxIsc/eqil5vT1mjKV5 X-Received: by 2002:a17:906:3e89:: with SMTP id a9mr24885307ejj.405.1620651144318; Mon, 10 May 2021 05:52:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620651144; cv=none; d=google.com; s=arc-20160816; b=AqQpIbJyNlCeDza114xSvljOdOY1gAm/UI1Cvb3ZO3uL8n1HTNW9/Yf22ZKPAmd8qK 3blcVO3ayqlizrlG4yAZfVP2fAl/UpZ79ru14tCZCJTzmfu4ovHsNx1n88kvLnmhGPmQ DH+cHdDPSPEMCU0UfiJfanKp1a9hKP5SyLVqOgP4Mk9Vh7uEAEOGppKL4eYah7tocpgD 6wVuE32Evzv6wu5WzzB3ELD1fMzRtPe9azNRNUgLIlUS1Mzj9g7EUj9itK9Vd1bITbKy 0hGUbe9xXLWSGG0N3/+O2JAlp72ViOXy7iVKf0WoxfdIqDaz9ghS8EPmeqF8XpO5Ptb7 Vdvg== 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=vMxZ5Knsw2UqV/OnwnXAu5kmSDe8GzuqXJ6XJ3X66GWPxRZzl6YOGhvJPIHZQWPmyo xvELifiSzFO/PKUYt5ZElttaOTtFPp5LJzdaqv3tBOUWY4tn6lztYpJFSgDj/meWH9EI YZViiYiQSNIFZjBxiwfR5kTqEum9p2qcUimQ/Oavu6VNHVt1/58uVRv5kQyBOWqe1G6P NlxasjVucbL1x39gpvSWTSqWFXY6ABNS+UUhvoODPd5j3tHgnkigzMSoPkpKwh3IOtq9 nPPSgDstk6/tGgslwYxjMEU1Bf0p+ZctzEdcZmB2EVL4fV3wh7+CYwW416jjulW5wWXN MAcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ARelgk01; 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 y3si13438127ejo.374.2021.05.10.05.52.00; Mon, 10 May 2021 05:52:24 -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=ARelgk01; 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 S234249AbhEJMuH (ORCPT + 99 others); Mon, 10 May 2021 08:50:07 -0400 Received: from mail.kernel.org ([198.145.29.99]:44572 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243796AbhEJL5T (ORCPT ); Mon, 10 May 2021 07:57:19 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id BA8F660E09; Mon, 10 May 2021 11:56:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620647774; bh=lvQXdb1uLea5kXdp+Ftv8+KRCK1dJmRCKA5861t8EtA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ARelgk0148UJssKESsH3cNto6r6TczRUB5cvXfHFxWwY9a3SkVqHmcrJtiAIbr7za Y9uLO+Dkz51IsKticWfbms6hinNt4mX1ioF+70b8bjCyLk4yJTDXAhwCjvEFWyeHgM NIbdxZka1RNJJEuIaJAqU3iW7VZ6Osbv7mpovXmw= 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.11 083/342] kselftest/arm64: mte: Fix MTE feature detection Date: Mon, 10 May 2021 12:17:53 +0200 Message-Id: <20210510102012.861972949@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102010.096403571@linuxfoundation.org> References: <20210510102010.096403571@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