From patchwork Sat Feb 16 13:51:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 158565 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp538641jaa; Sat, 16 Feb 2019 05:51:38 -0800 (PST) X-Google-Smtp-Source: AHgI3IZWr/2OK4tC3uu2OEKT4r/BuiPXZlHPSlnpsvUayIYAjhmlHpXzCO/UmymgPrtkTBZ/LHVj X-Received: by 2002:a62:f598:: with SMTP id b24mr14892953pfm.72.1550325098371; Sat, 16 Feb 2019 05:51:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550325098; cv=none; d=google.com; s=arc-20160816; b=XQrybGR922HQCKNHyR9MxAQuvkNKWrOpFaY3dML/lqdfxqzPU8egbDV0HcvWBKeeUd jZUb/kK2mcnpboBlqc2X4kG6T7TVaFxuRGbbQLTSihl3HRGrWDUjRTDwm06gwyEpGX7N YMVt5c+RPz/RiiAqtL1JEUZ8VlX1m5xPem2FwxMhCOVpGURl6sadgo2Ai2VDcBlPmU9b CzaY6dEjQO4kmzV49zTQKc+6NNqAAjeOFz9gwaGuCkyPW2ljemrkguKKDEkqDzwEHr0y 3783FKH76SfYwwupkbTQMtADyv9SgxD6LQZYKQDXzqh8OHV7pyYwZUlcDdpQ6/gME+KT EaKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=RESib+cEp4bIRrM/kzeVXaWtLnzhI8Y3cyzDLEEl3lI=; b=S5Xrri3ndFxCrKncWtX8x0v3VvvBaYUjbjM1dmK0UDwhH/Qs1C0ZbGnQ3KTJe5vKxe hH2a//4HbrCGVIYWOKz/1J+wokXD63+4054lbM/1ImWXqvJ1h2RClVQufT/wjhKdYWpr W14DtK/GWJ4NYHtUpGwMqNisHHPmJypHai9NPyRDOte4j68cUzxeLjPVotd6TuS9iGBX zatAaOdTWpoW7cCy169R5egjZBuLND49R49EBYNf/TAXPDJv9ckAFDKEqEuQ9IPDrZ7V FDjBue+LzxOb0hMVUZGkzzK6hbOc/MMohxewWpdpIAWu+EmM0kolbKdZVrbHm01GK0dj W27w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=n5tzB3hB; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i67si7952707pfc.119.2019.02.16.05.51.38; Sat, 16 Feb 2019 05:51:38 -0800 (PST) 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=pass header.i=@linaro.org header.s=google header.b=n5tzB3hB; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726150AbfBPNvg (ORCPT + 3 others); Sat, 16 Feb 2019 08:51:36 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:45260 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725769AbfBPNvg (ORCPT ); Sat, 16 Feb 2019 08:51:36 -0500 Received: by mail-wr1-f67.google.com with SMTP id w17so13165394wrn.12 for ; Sat, 16 Feb 2019 05:51:35 -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=RESib+cEp4bIRrM/kzeVXaWtLnzhI8Y3cyzDLEEl3lI=; b=n5tzB3hBZb430T2F0yA9BA+jPcPidtJVAsM7Vo+8MqIyYmdUeUx59V27Vt9zmKihUH gZKo6ch2P/j1CW093hnOE1ezd3lgVe6d+JgSVjhHbXXT7EkSsV/7K+1mQx+znc7cTWym e36vJO+KWe2DWmFAvvle4IAfWHz8XptMWp3jpiiR2BtzaRSFuGXKl5mpGt3tPHBzH0/z HV/7acmkF/32SlzN/Bw/h4CfKfjQlYzPHDmYx63bulM43egJH3n2+8eLswMiIyvjSEnt LWHSy/kKLUjvFHNJNS0OP1yyh4osL2Ljd/sJlGXGO/aRDeatN5pz62J2iJ/7FOJXVxXc f5SQ== 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=RESib+cEp4bIRrM/kzeVXaWtLnzhI8Y3cyzDLEEl3lI=; b=GUwdVGOdp9w93c1ZvmL0OwaxVWFAMMx5UF1fuglPY+6bX+WmIl51f/D65+qLj1AEBL 9eUoyPV0o6wS8gh6hkLQuBVw8UXKcXNUEmd6NZu2PFIf1hWOWRn4ZSRCYU8Amck+9aAB Il9RRjpDGkDA4W76B/xpTEKQxjWxGWAyX5Atj1wc5vz3UHg8/hu1L2a4u4mOU3WoxJFz FgIK3qkTXq/EIkCym/YNMbz+B+6ctSEn5TGtbcHWHtQ2dWC/7FupbFZzUzdcUmctu7kT TdHJBbohX9MbVFqdGuZvPrxNVIuY7p0NiVVsNJ2d1wFm6fcpJOdBFNkphlHjqZuJENUv M9IA== X-Gm-Message-State: AHQUAuY3Yj3r0w4ttsa5kk/5zCTpcYkbSMDXaPhRLDQqfssF0J+S7qQm 5zwg2QIOWAT2BRFa0MeS9w83XOa6vmc= X-Received: by 2002:a5d:6b05:: with SMTP id v5mr11329429wrw.76.1550325093889; Sat, 16 Feb 2019 05:51:33 -0800 (PST) Received: from sudo.home ([2a01:cb1d:112:6f00:8ee:778e:6c2d:d201]) by smtp.gmail.com with ESMTPSA id z17sm7452339wrs.75.2019.02.16.05.51.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 16 Feb 2019 05:51:32 -0800 (PST) From: Ard Biesheuvel To: linux-crypto@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, herbert@gondor.apana.org.au, ebiggers@kernel.org, Ard Biesheuvel Subject: [PATCH 1/2] crypto: sha256/arm - fix crash bug in Thumb2 build Date: Sat, 16 Feb 2019 14:51:25 +0100 Message-Id: <20190216135126.17290-2-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190216135126.17290-1-ard.biesheuvel@linaro.org> References: <20190216135126.17290-1-ard.biesheuvel@linaro.org> MIME-Version: 1.0 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org The SHA256 code we adopted from the OpenSSL project uses a rather peculiar way to take the address of the round constant table: it takes the address of the sha256_block_data_order() routine, and substracts a constant known quantity to arrive at the base of the table, which is emitted by the same assembler code right before the routine's entry point. However, recent versions of binutils have helpfully changed the behavior of references emitted via an ADR instruction when running in Thumb2 mode: it now takes the Thumb execution mode bit into account, which is bit 0 af the address. This means the produced table address also has bit 0 set, and so we end up with an address value pointing 1 byte past the start of the table, which results in crashes such as Unable to handle kernel paging request at virtual address bf825000 pgd = 42f44b11 [bf825000] *pgd=80000040206003, *pmd=5f1bd003, *pte=00000000 Internal error: Oops: 207 [#1] PREEMPT SMP THUMB2 Modules linked in: sha256_arm(+) sha1_arm_ce sha1_arm ... CPU: 7 PID: 396 Comm: cryptomgr_test Not tainted 5.0.0-rc6+ #144 Hardware name: QEMU KVM Virtual Machine, BIOS 0.0.0 02/06/2015 PC is at sha256_block_data_order+0xaaa/0xb30 [sha256_arm] LR is at __this_module+0x17fd/0xffffe800 [sha256_arm] pc : [] lr : [] psr: 800b0033 sp : ebc8bbe8 ip : faaabe1c fp : 2fdd3433 r10: 4c5f1692 r9 : e43037df r8 : b04b0a5a r7 : c369d722 r6 : 39c3693e r5 : 7a013189 r4 : 1580d26b r3 : 8762a9b0 r2 : eea9c2cd r1 : 3e9ab536 r0 : 1dea4ae7 Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment user Control: 70c5383d Table: 6b8467c0 DAC: dbadc0de Process cryptomgr_test (pid: 396, stack limit = 0x69e1fe23) Stack: (0xebc8bbe8 to 0xebc8c000) ... unwind: Unknown symbol address bf820bca unwind: Index not found bf820bca Code: 441a ea80 40f9 440a (f85e) 3b04 ---[ end trace e560cce92700ef8a ]--- Given that this affects older kernels as well, in case they are built with a recent toolchain, apply a minimal backportable fix, which is to emit another non-code label at the start of the routine, and reference that instead. (This is similar to the current upstream state of this file in OpenSSL) Signed-off-by: Ard Biesheuvel --- arch/arm/crypto/sha256-armv4.pl | 3 ++- arch/arm/crypto/sha256-core.S_shipped | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) -- 2.20.1 diff --git a/arch/arm/crypto/sha256-armv4.pl b/arch/arm/crypto/sha256-armv4.pl index b9ec44060ed3..a03cf4dfb781 100644 --- a/arch/arm/crypto/sha256-armv4.pl +++ b/arch/arm/crypto/sha256-armv4.pl @@ -212,10 +212,11 @@ K256: .global sha256_block_data_order .type sha256_block_data_order,%function sha256_block_data_order: +.Lsha256_block_data_order: #if __ARM_ARCH__<7 sub r3,pc,#8 @ sha256_block_data_order #else - adr r3,sha256_block_data_order + adr r3,.Lsha256_block_data_order #endif #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) ldr r12,.LOPENSSL_armcap diff --git a/arch/arm/crypto/sha256-core.S_shipped b/arch/arm/crypto/sha256-core.S_shipped index 3b58300d611c..054aae0edfce 100644 --- a/arch/arm/crypto/sha256-core.S_shipped +++ b/arch/arm/crypto/sha256-core.S_shipped @@ -93,10 +93,11 @@ K256: .global sha256_block_data_order .type sha256_block_data_order,%function sha256_block_data_order: +.Lsha256_block_data_order: #if __ARM_ARCH__<7 sub r3,pc,#8 @ sha256_block_data_order #else - adr r3,sha256_block_data_order + adr r3,.Lsha256_block_data_order #endif #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) ldr r12,.LOPENSSL_armcap From patchwork Sat Feb 16 13:51:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 158566 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp538644jaa; Sat, 16 Feb 2019 05:51:38 -0800 (PST) X-Google-Smtp-Source: AHgI3IYt6pLG1nVVwipsc2xNnxkCgUNF9dezSaxdwL1BrteWDOWj/ipKotbADARwmD8USpSBaysQ X-Received: by 2002:a63:f648:: with SMTP id u8mr10003899pgj.91.1550325098671; Sat, 16 Feb 2019 05:51:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550325098; cv=none; d=google.com; s=arc-20160816; b=fkTedY0QfwVKdGfT+v8kL9i5Kqm5a2ovpMoAtlcf6iQgHKX4+o+6edrRaoSgeViwYe ebcwlzM2ED8t/0Qb4rP6hM2FX2r3ZcZssXvgnztF6LBLe7NYTtsGXZ5u3ZJsZchuwbin KyVu9FNn8I6T9BCYZKuxh4hFhXzW6uGe6AjWo+VC1+o9SOm4ce09Qs6e4ELxajpB/dHV 7IDEOxjDFXHjI8VyECbbNYOaiWYe8/y3q0vUk4Hq3pVMDQOnButp55371sRtv0MVCCFa VJI68djGzy9fuS3+uT72eBDEuuBp46BL3Jt3YMqoTNecxztRstvwjpi65GxPoYGs3a6/ SLrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=I+oUlVJkZNLWLH2zCR29dR9mlQ4zkguT7+X//Rq8/xk=; b=tXRt6m2jO8f8l7p9eysniAWv7syscNIj6/xL4FFgCOOpSgYGthg7ZrXWYEswFjlK6N kYOJ5faFjgad2v06DovWhckdCkJgcVDzmdttu+7yycxnJkCrj+uxOlp0/x7mk+vS6pO0 PqHSKNCoPQzaKojI10yHgJ/64+j+n9zq34mL6lIy7w1i+RkzJA1QNuI01I/9s15zptO7 fTcBOoaTZ9TypKqbpLRZRDJATwKz2WSYPDrUBPvh+C9qP7kljsLb6evRrQy3xjxqcYLN QNIEaqdYhNJyMRxF05H2zVyJRfpV4NB9ahfd5W6bKg1xlWG4wAjBBhppK0ATAF+eqOUF m/dQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JO4Fk4pZ; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i67si7952707pfc.119.2019.02.16.05.51.38; Sat, 16 Feb 2019 05:51:38 -0800 (PST) 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=pass header.i=@linaro.org header.s=google header.b=JO4Fk4pZ; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725769AbfBPNvh (ORCPT + 3 others); Sat, 16 Feb 2019 08:51:37 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:39091 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726090AbfBPNvh (ORCPT ); Sat, 16 Feb 2019 08:51:37 -0500 Received: by mail-wr1-f67.google.com with SMTP id l5so12121983wrw.6 for ; Sat, 16 Feb 2019 05:51:36 -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=I+oUlVJkZNLWLH2zCR29dR9mlQ4zkguT7+X//Rq8/xk=; b=JO4Fk4pZxeYirKMx+GQ8BMWw4baIlBo5Lx7P1Pd/svvRMGEjxPCm0LsUYrWc7ap2cE zyzEr1WU3bphbU7uAw0XZyjrDvD9J6wluwgFwzBcIx4vtzc4M9N385DKkEDD+DBR7sti /xLkSASC63uHdeBXnIGNMnOmUbkUBT+o1sVxW3zTQSmqFjZ72FbW904CK3BCLEtG4hBN Yhf/UYemjJ8jIz5+r9FnD/8ViYnObvB/RttD5IE/pSDzz7J7U6qkJi2u6Em+oCi8pXEu g8iEWWQVh+8Di8otkZqEE2lnGSb6YWhiCglpAjUJWibqe59zCBqKYM4eAN0q9aC9cqQO xm4A== 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=I+oUlVJkZNLWLH2zCR29dR9mlQ4zkguT7+X//Rq8/xk=; b=proAhPXM7ELJ7+N7yL7Evd+EgnHvbSuWJf6HzwygWjjA8G0/Luqlckbt4dhAXHB4Vy ZbLkUSKnCeJRE7hqinDWdI2q6Al1E/r/Avmw5NjphyoelYUWYP0c3HQiaBQ+l/ZXPhcH IGKN1CpJK4+zpFTD00EoegdE62VR+7hS3epwMnCUSuSxlZyp17wmNaLTm+9jZPtPF0Uh vb2vWXvA8QbE0xUf+Y2umwzYJLtGp89dxAlQbdFcY+nrQH/QRJqUmMFqbSXYA2KugzEd eN+JRwSBEDuMpy+hnl0E6nJMdqRINapmeZnZXg42/K8tNiJvO+yYZjy1slQSFEGg+Fc2 ePmQ== X-Gm-Message-State: AHQUAuaNRT8J3voHcE8KDnV0DBWMjt7RNWXsDZ9NVqcoOFDgpBCzQwcG nX54k0eMfumAS6Y4D8G2ds6zq+lF8MQ= X-Received: by 2002:adf:9123:: with SMTP id j32mr11063249wrj.122.1550325095433; Sat, 16 Feb 2019 05:51:35 -0800 (PST) Received: from sudo.home ([2a01:cb1d:112:6f00:8ee:778e:6c2d:d201]) by smtp.gmail.com with ESMTPSA id z17sm7452339wrs.75.2019.02.16.05.51.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 16 Feb 2019 05:51:34 -0800 (PST) From: Ard Biesheuvel To: linux-crypto@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, herbert@gondor.apana.org.au, ebiggers@kernel.org, Ard Biesheuvel Subject: [PATCH 2/2] crypto: sha512/arm - fix crash bug in Thumb2 build Date: Sat, 16 Feb 2019 14:51:26 +0100 Message-Id: <20190216135126.17290-3-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190216135126.17290-1-ard.biesheuvel@linaro.org> References: <20190216135126.17290-1-ard.biesheuvel@linaro.org> MIME-Version: 1.0 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org The SHA512 code we adopted from the OpenSSL project uses a rather peculiar way to take the address of the round constant table: it takes the address of the sha256_block_data_order() routine, and substracts a constant known quantity to arrive at the base of the table, which is emitted by the same assembler code right before the routine's entry point. However, recent versions of binutils have helpfully changed the behavior of references emitted via an ADR instruction when running in Thumb2 mode: it now takes the Thumb execution mode bit into account, which is bit 0 af the address. This means the produced table address also has bit 0 set, and so we end up with an address value pointing 1 byte past the start of the table, which results in crashes such as Unable to handle kernel paging request at virtual address bf825000 pgd = 42f44b11 [bf825000] *pgd=80000040206003, *pmd=5f1bd003, *pte=00000000 Internal error: Oops: 207 [#1] PREEMPT SMP THUMB2 Modules linked in: sha256_arm(+) sha1_arm_ce sha1_arm ... CPU: 7 PID: 396 Comm: cryptomgr_test Not tainted 5.0.0-rc6+ #144 Hardware name: QEMU KVM Virtual Machine, BIOS 0.0.0 02/06/2015 PC is at sha256_block_data_order+0xaaa/0xb30 [sha256_arm] LR is at __this_module+0x17fd/0xffffe800 [sha256_arm] pc : [] lr : [] psr: 800b0033 sp : ebc8bbe8 ip : faaabe1c fp : 2fdd3433 r10: 4c5f1692 r9 : e43037df r8 : b04b0a5a r7 : c369d722 r6 : 39c3693e r5 : 7a013189 r4 : 1580d26b r3 : 8762a9b0 r2 : eea9c2cd r1 : 3e9ab536 r0 : 1dea4ae7 Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment user Control: 70c5383d Table: 6b8467c0 DAC: dbadc0de Process cryptomgr_test (pid: 396, stack limit = 0x69e1fe23) Stack: (0xebc8bbe8 to 0xebc8c000) ... unwind: Unknown symbol address bf820bca unwind: Index not found bf820bca Code: 441a ea80 40f9 440a (f85e) 3b04 ---[ end trace e560cce92700ef8a ]--- Given that this affects older kernels as well, in case they are built with a recent toolchain, apply a minimal backportable fix, which is to emit another non-code label at the start of the routine, and reference that instead. (This is similar to the current upstream state of this file in OpenSSL) Signed-off-by: Ard Biesheuvel --- arch/arm/crypto/sha512-armv4.pl | 3 ++- arch/arm/crypto/sha512-core.S_shipped | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) -- 2.20.1 diff --git a/arch/arm/crypto/sha512-armv4.pl b/arch/arm/crypto/sha512-armv4.pl index fb5d15048c0b..788c17b56ecc 100644 --- a/arch/arm/crypto/sha512-armv4.pl +++ b/arch/arm/crypto/sha512-armv4.pl @@ -274,10 +274,11 @@ WORD64(0x5fcb6fab,0x3ad6faec, 0x6c44198c,0x4a475817) .global sha512_block_data_order .type sha512_block_data_order,%function sha512_block_data_order: +.Lsha512_block_data_order: #if __ARM_ARCH__<7 sub r3,pc,#8 @ sha512_block_data_order #else - adr r3,sha512_block_data_order + adr r3,.Lsha512_block_data_order #endif #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) ldr r12,.LOPENSSL_armcap diff --git a/arch/arm/crypto/sha512-core.S_shipped b/arch/arm/crypto/sha512-core.S_shipped index b1c334a49cda..710ea309769e 100644 --- a/arch/arm/crypto/sha512-core.S_shipped +++ b/arch/arm/crypto/sha512-core.S_shipped @@ -141,10 +141,11 @@ WORD64(0x5fcb6fab,0x3ad6faec, 0x6c44198c,0x4a475817) .global sha512_block_data_order .type sha512_block_data_order,%function sha512_block_data_order: +.Lsha512_block_data_order: #if __ARM_ARCH__<7 sub r3,pc,#8 @ sha512_block_data_order #else - adr r3,sha512_block_data_order + adr r3,.Lsha512_block_data_order #endif #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) ldr r12,.LOPENSSL_armcap