From patchwork Tue Mar 12 17:09:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 160141 Delivered-To: patch@linaro.org Received: by 2002:ac9:18c7:0:0:0:0:0 with SMTP id i7csp13203616oce; Tue, 12 Mar 2019 10:23:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqykFs66sv45PlUOZdaJfsONEnQk02FJotGHsj8UjCzgJKoeESuZLBKhbtXSHIfDZc3OdrHr X-Received: by 2002:a81:4f45:: with SMTP id d66mr11503000ywb.300.1552411431389; Tue, 12 Mar 2019 10:23:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552411431; cv=none; d=google.com; s=arc-20160816; b=ruusCX5s3d9DfB+8xb/j8/WR6Ghz8WT3JGjii4cqTq7J0Xmm6qaiFL6LRShHEfoUdC 8M/zL9rz4WDeHITFsiMOm5gY2W/ShK1qhBTh/+Vm0ACrgI7GYsjVxEa8KDRDdg4gvzQ+ RmLSa5gVT9UXN+MyFwBw5vmD2UweQ+Dl8W+ByRoKYt1oPM2tWI2OR4IaEL9AEyIKXmLA FsByCJYR1n6ivlquh9AWlYEQTtVcTTwnDarXYFVRlbJllfVmfDgU4SNe62YNQ3DBTRTV fit0SGxxg5bnD6Nl9J66CiGt7LkdpxUiJTHstQCJs3Q2hmumUH7YJsNe/G8nvcirraBW UJSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature; bh=uqgDo1KcEvn9lv+Z25qAFkOJ8Ui5IkK1GQOdtbOxZPs=; b=JCIOJzb2p+S/aDgy+YQ8XRGQgRfj6hY3dIcS+TgQAe09Uc/yoK0hkhXR8KazOAgMVL +OXtpVJjSy8eadZ2eh8pJtfucaciB1KdPQoE8+s2jVHjUUQqpTc4x2BwoPl/Ydk07x5D AYSC96pWA3F3MoSP+4Ah9BnnuqWpj8JgaLWwChEly9w32iUuH1AY9ABAHauWyE7y2hrY fUn4poZoSS3ICzxFgekDum1fhMMmD9G+NYewxqcC+GQBi139A+XbMINfgKe3kbOyS7dF AVouxRIJahbhMvAK5rlZuKp+GGu2J+fIXEdrwIRXoJ9TQPHwpQ/2x6hUXRJIa+fE0e44 Ltfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=CUlnqUCv; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id g135si4563649ywe.406.2019.03.12.10.23.51 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 12 Mar 2019 10:23:51 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=CUlnqUCv; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([127.0.0.1]:56318 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h3l82-0001VH-Ps for patch@linaro.org; Tue, 12 Mar 2019 13:23:50 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50739) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h3l2i-0005SB-7z for qemu-devel@nongnu.org; Tue, 12 Mar 2019 13:18:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h3kzn-0003vP-LY for qemu-devel@nongnu.org; Tue, 12 Mar 2019 13:15:21 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:34998) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h3kzn-0003t6-BX for qemu-devel@nongnu.org; Tue, 12 Mar 2019 13:15:19 -0400 Received: by mail-wr1-x433.google.com with SMTP id t18so3593167wrx.2 for ; Tue, 12 Mar 2019 10:15:19 -0700 (PDT) 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=uqgDo1KcEvn9lv+Z25qAFkOJ8Ui5IkK1GQOdtbOxZPs=; b=CUlnqUCvpaDmV7f2uQQ8r+fUJ0lbdQYNmtLmTSO12dTYbKf5lwVZrcBybFKz8XxwQM RM6w6/a/1zy/oIJ2PiKN5YsOUCqVMZ2xAE/ViVvYXU/xu+gAWTg/TD/x/hKJMf4cjjlf YljQGAEYbPp9cV68uK+/EJMoYu4SxbHF96Jh3GqiAiWRAYKWwYqI2yXEXSJD6v4xr89H BjSdvg9nFJ7GxYiMHLKvlii4WK3UUdNbJeSxIgSgIt0Elb0wX3DQmzFenQzrNs60NAbi im+kpLX3JacJ/xWhW8XiFMyD3c3M7oZNSaWSl2jBxipazkcG7mXwJ6rBbxywZfdX7tCW 3dzw== 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=uqgDo1KcEvn9lv+Z25qAFkOJ8Ui5IkK1GQOdtbOxZPs=; b=OnT+XYD0Fj12g3TaBi8C7ud9dAMyNyVrtGdRPqn50Ymox2GYk0seHZcVXBM+Kj9Ocr tqgAz8gyf3gLFIs2aAx9V7FMJX8E/oiOW73UQzAobfPT15WqGsoGgCNkoF85JVtZAY0A kTg6EtuuZFWZ4jtMWvxJnYt+enaffVlDdGHPxLN6O6Z5c/Sr8EHUDiHawV8k4as+1vsb 0x3KDE9S1vIeFt+5sncDAvPakU9NpLTP2X3IzLZHhdxwTg4hQ6oZ6QL63c1qdVzRbLHH X6ILdPN4DEHHNfuAlW3nfhuzCTGjw1fWJ1eE7SjfwLqUxQVvVu9KCIGO4V036gxrEGjA 1lpQ== X-Gm-Message-State: APjAAAXaU0HZVYNXANFmvIVefxixManXnm1XLZWLXLetynURT14KgeO/ oht8X1AlEqXdScU4qgLQqzx0mrAFJmw= X-Received: by 2002:adf:b7c1:: with SMTP id t1mr23887777wre.248.1552410917859; Tue, 12 Mar 2019 10:15:17 -0700 (PDT) Received: from zen.linaroharston ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id i12sm16353351wrq.21.2019.03.12.10.15.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 12 Mar 2019 10:15:13 -0700 (PDT) Received: from zen.linaroharston. (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 8D90E1FFAA; Tue, 12 Mar 2019 17:09:32 +0000 (UTC) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Date: Tue, 12 Mar 2019 17:09:29 +0000 Message-Id: <20190312170931.25013-25-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190312170931.25013-1-alex.bennee@linaro.org> References: <20190312170931.25013-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::433 Subject: [Qemu-devel] [PULL 24/26] tests/tcg/arm: account for pauth randomness X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , =?utf-8?q?Alex_Benn?= =?utf-8?b?w6ll?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Pointer authentication isn't guaranteed to always detect a clash between different keys. Take this into account in the test by running several times and checking the percentage hit rate of the test. Cc: Richard Henderson Signed-off-by: Alex Bennée -- 2.20.1 diff --git a/tests/tcg/aarch64/pauth-1.c b/tests/tcg/aarch64/pauth-1.c index ae6dc05c2b..a3c1443cd0 100644 --- a/tests/tcg/aarch64/pauth-1.c +++ b/tests/tcg/aarch64/pauth-1.c @@ -1,5 +1,6 @@ #include #include +#include asm(".arch armv8.4-a"); @@ -8,16 +9,29 @@ asm(".arch armv8.4-a"); #define PR_PAC_APDAKEY (1 << 2) #endif +#define TESTS 1000 + int main() { - int x; + int x, i, count = 0; void *p0 = &x, *p1, *p2; + float perc; + + for (i = 0; i < TESTS; i++) { + asm volatile("pacdza %0" : "=r"(p1) : "0"(p0)); + prctl(PR_PAC_RESET_KEYS, PR_PAC_APDAKEY, 0, 0, 0); + asm volatile("pacdza %0" : "=r"(p2) : "0"(p0)); - asm volatile("pacdza %0" : "=r"(p1) : "0"(p0)); - prctl(PR_PAC_RESET_KEYS, PR_PAC_APDAKEY, 0, 0, 0); - asm volatile("pacdza %0" : "=r"(p2) : "0"(p0)); + if (p1 != p0) { + count++; + } + if (p1 != p2) { + count++; + } + } - assert(p1 != p0); - assert(p1 != p2); + perc = (float) count / (float) (TESTS * 2); + printf("Ptr Check: %0.2f%%", perc * 100.0); + assert(perc > 0.95); return 0; }