From patchwork Sun Oct 9 17:42:23 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 77411 Delivered-To: patch@linaro.org Received: by 10.140.97.247 with SMTP id m110csp928159qge; Sun, 9 Oct 2016 10:42:45 -0700 (PDT) X-Received: by 10.98.184.26 with SMTP id p26mr48085373pfe.68.1476034965197; Sun, 09 Oct 2016 10:42:45 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r5si16333080pap.347.2016.10.09.10.42.45; Sun, 09 Oct 2016 10:42:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752053AbcJIRmo (ORCPT + 1 other); Sun, 9 Oct 2016 13:42:44 -0400 Received: from mail-lf0-f43.google.com ([209.85.215.43]:34638 "EHLO mail-lf0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752011AbcJIRmn (ORCPT ); Sun, 9 Oct 2016 13:42:43 -0400 Received: by mail-lf0-f43.google.com with SMTP id b81so84310023lfe.1 for ; Sun, 09 Oct 2016 10:42:43 -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; bh=IMtIbK5gSsIFzrvHipuqZ+3pYa00xS/pGUZp9eS6XDI=; b=enOeT2F0CX12qeJXHSXAeevPXnPfBZH3PcVAzNwrV4PSaTbqxRcUPAARS3d91WthMM HrXPWnbOAlaOsUUc3gUGaJ2l7VHkegVRqqq76OQFV41MKD29pHgogbSfys8O+K0Gga4x z1pYJnDBVbt7tDXHJRuX1CGlmyAZC2gIJs60c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=IMtIbK5gSsIFzrvHipuqZ+3pYa00xS/pGUZp9eS6XDI=; b=JhtDlspkQ98PQ+9/2n+kULRatLxO+dZlzAbnCa9zdkGl2kPkkhKc330RZUaUN8d7pr aWOSgrHXQhVIqqFGHsiapAT1u4eEYcxNjjBL2BlYbf4Xqb2KpDgK6uNmT4TqR3qXeC0a fb1WObwUawGYgvBc5uDjQboy5TrblIzJZt4RnBVUvnZpAyp4DrmJku7mQtSPms2bTxqz a9FGWR2waSb5xy20SiZI4jkJqZwdK7OkC0BsG2deIkUXz9AIa1ZrMsQWuRTdT0POVQNW toYDfHy5cHRQtjWSMZhKCfGf0SNCtVsQaSqjntmOr0IO8pMVw8hzojblIUeUJay/4lq7 ifwg== X-Gm-Message-State: AA6/9RmfjGeIRxSmkhEu7blPBHCKig0gXQyd2MKMupdYbwMm6PbZlMnYWpQ2kfmdeQj6Etj+ X-Received: by 10.194.235.165 with SMTP id un5mr25019780wjc.200.1476034961990; Sun, 09 Oct 2016 10:42:41 -0700 (PDT) Received: from localhost.localdomain ([45.218.219.19]) by smtp.gmail.com with ESMTPSA id uw3sm32503415wjb.21.2016.10.09.10.42.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 09 Oct 2016 10:42:41 -0700 (PDT) From: Ard Biesheuvel To: linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, herbert@gondor.apana.org.au Cc: catalin.marinas@arm.com, will.deacon@arm.com, Ard Biesheuvel Subject: [PATCH 4/6] crypto: arm64/sha2-ce - fix for big endian Date: Sun, 9 Oct 2016 18:42:23 +0100 Message-Id: <1476034945-9186-5-git-send-email-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1476034945-9186-1-git-send-email-ard.biesheuvel@linaro.org> References: <1476034945-9186-1-git-send-email-ard.biesheuvel@linaro.org> Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org The SHA256 digest is an array of 8 32-bit quantities, so we should refer to them as such in order for this code to work correctly when built for big endian. So replace 16 byte scalar loads and stores with 4x32 vector ones where appropriate. Fixes: 6ba6c74dfc6b ("arm64/crypto: SHA-224/SHA-256 using ARMv8 Crypto Extensions") Signed-off-by: Ard Biesheuvel --- arch/arm64/crypto/sha2-ce-core.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/arch/arm64/crypto/sha2-ce-core.S b/arch/arm64/crypto/sha2-ce-core.S index 5df9d9d470ad..01cfee066837 100644 --- a/arch/arm64/crypto/sha2-ce-core.S +++ b/arch/arm64/crypto/sha2-ce-core.S @@ -85,7 +85,7 @@ ENTRY(sha2_ce_transform) ld1 {v12.4s-v15.4s}, [x8] /* load state */ - ldp dga, dgb, [x0] + ld1 {dgav.4s, dgbv.4s}, [x0] /* load sha256_ce_state::finalize */ ldr w4, [x0, #:lo12:sha256_ce_offsetof_finalize] @@ -148,6 +148,6 @@ CPU_LE( rev32 v19.16b, v19.16b ) b 1b /* store new state */ -3: stp dga, dgb, [x0] +3: st1 {dgav.4s, dgbv.4s}, [x0] ret ENDPROC(sha2_ce_transform)