From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dy1-f181.google.com (mail-dy1-f181.google.com [74.125.82.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D4A874C6F1E for ; Fri, 15 May 2026 21:15:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778879717; cv=none; b=k2B4pZbELHoFgVIRyECK0xg/nwTHZkno73oz9RT0RiJt8mPNf/AMAE/XbVmEr/AC9TsfrecpgEo77CsN9hB7VcmQkTiu8FclV/ghll9jZIx5Dg102sCY3edw/mpIQ3AWrrp4nFGg4npmJNyEoJvCIp6I1P8RcPERSMWPu79Fb8E= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778879717; c=relaxed/simple; bh=7BAv62SCJAZd+nbTYMXdF5QJlgc01qXtbND56r+tijw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lNJcCsdun2MRF/kjlkExLmXWh891G0pHUTbK6GIWxW2ssQvnEt8eVF2rcjH+z/e+rtl7+P7t0yE5H6H8sjfM36/knTmUAuu3/bYde55QwnSES0x6TJUbeXDeetMgVls8JdYm0FtQrNKsMrqnmrmXRYS7nOgNQJnDm2FuD3SV9fA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=NNLKh2Ja; arc=none smtp.client-ip=74.125.82.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="NNLKh2Ja" Received: by mail-dy1-f181.google.com with SMTP id 5a478bee46e88-30246cfd41aso1512879eec.1 for ; Fri, 15 May 2026 14:15:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778879715; x=1779484515; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RpW1a/fScKIJOJjIsuP4+bGqNlbA4fQX64i8+rdO0zg=; b=NNLKh2Ja78Xg7YtTOJnXXrJO3+1web4zIBvPZyZZjN3nXzCs5iNssEUVficdqe3NQq 2Ch+FsviA0JHGUNEUHj+op4que+AYQY/kcO4XMy8ivf7STGAi/zNN7UAI1WDYx2IpkP+ 1zR5mNKwxB8V3nOiJEX9J+BtjNGEaIHEG61Dx+niQlhjaLnEuIvtCbpsgAKmOhjjN0IG D6TQMwFOq+D1z/OZiCdR6jvuxrrutyZQw+tIvLXkxIG4SMJSnB6TDS+xa4qiKGC36DCW oFs+Vt1gpdouFFwNzklH2Q1Dw2UlB/cUvflsjn2gEjePUqb2JIt1EPxSjNxsOp3LTwGZ IU2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778879715; x=1779484515; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=RpW1a/fScKIJOJjIsuP4+bGqNlbA4fQX64i8+rdO0zg=; b=lRbVZENnQGshRIrdzZ6J73w5kFV+kJgQITyoia40hWeUPqbryYU5hGdEGAK6EXQYQ0 1mD7sCcv7tA9ah+FMyObboUlQPwevTte4ZssZN8/CXmFsohnGVGgEbzON6mimEQ6h77q mK0G8VQx5o6FJaaWSon6rr/8NPKWlYWhZcFpcabPyJEfzk/saByiOFIHFI27wFXt4a4A bJNMpBaTqJ9VdRQH8DB7RTXHUKUJCL5b605+wL7iqMoHj1qWW/yFYyFu+M2n+eujAhmR pRSdKIp4ThG/mP8es9kEt8NrV7JLBDtzr+Ksn20rcTSMYlBqdjxQ1JPnOzVS7ncrdbpZ ERLw== X-Gm-Message-State: AOJu0YzRu3ooth1RhBO2gYZ4Ckr9bXDP1QtW97zK4S1MzNmLO0pgrHPB 22CPdq1AKJwv5zD9aybTouW6JDTTqX25PSvzS7bEHoNBrOcaNk1aD46cFT10AqZK X-Gm-Gg: Acq92OEsr9zX/qnez36jHC3QnCFwvADu7C2QJbhjgZaqdZ9zQ5CzKSJE/+kj+QbF3F4 BRGzv2PnNjgWS8e9hYbaqgf2OjU4ZTOHJZJYhBOC7UR/Zqk9XnJQNCHEDdcGwWm195m9BE2wwYU YBoPmOQGdPb2Q1U9osKJThddp+r9OEmN+es0orS5TjwvHcnpg3j9VsJwXoqwC0fQDRf2+8UwlQn 54M/jHlo5n1QwMEQ5gpNdHCf4KiYOK3b/Y4+gObDxhp1axIXYu0GpzyR2JSq1We6/WRtesevCUU l2mrT4J3OFTw3Sbs/WlP0id0Nt/OG0j19jlqvhhjkwTFRyWwcN2IgXS7CqAmKMGBFOzfhNwp8ul KgrFaoz8HylhRGi/0dmO8E9dRfL23z5+WQYxZVQCc0verxfKzQLybLyPI0MwxCFQ2aDuy4uJP9s /7bO48E8loujL6EC3JsYDaF2Ae53owHSw= X-Received: by 2002:a05:7300:a94b:b0:2be:142f:d499 with SMTP id 5a478bee46e88-30398678a39mr2873251eec.16.1778879715061; Fri, 15 May 2026 14:15:15 -0700 (PDT) Received: from mimas.lan ([2603:8000:df01:38f7:a6bb:6dff:fecf:e71a]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-302978ad18asm8003208eec.26.2026.05.15.14.15.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 14:15:14 -0700 (PDT) From: Ross Philipson To: linux-kernel@vger.kernel.org, x86@kernel.org, linux-integrity@vger.kernel.org, linux-doc@vger.kernel.org, linux-crypto@vger.kernel.org, kexec@lists.infradead.org, linux-efi@vger.kernel.org, iommu@lists.linux.dev Cc: ross.philipson@gmail.com, dpsmith@apertussolutions.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, dave.hansen@linux.intel.com, ardb@kernel.org, mjg59@srcf.ucam.org, James.Bottomley@hansenpartnership.com, peterhuewe@gmx.de, jarkko@kernel.org, jgg@ziepe.ca, luto@amacapital.net, nivedita@alum.mit.edu, herbert@gondor.apana.org.au, davem@davemloft.net, corbet@lwn.net, ebiederm@xmission.com, dwmw2@infradead.org, baolu.lu@linux.intel.com, kanth.ghatraju@oracle.com, daniel.kiper@oracle.com, andrew.cooper3@citrix.com, trenchboot-devel@googlegroups.com Subject: [PATCH v16 22/38] lib/crypto: Add SHA512 support for pre-boot environments Date: Fri, 15 May 2026 14:13:54 -0700 Message-ID: <20260515211410.31440-23-ross.philipson@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260515211410.31440-1-ross.philipson@gmail.com> References: <20260515211410.31440-1-ross.philipson@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Allow the SHA512 library code in lib/crypto/sha512.c to be used in pre-boot environments. Use the __DISABLE_EXPORTS macro to disable function exports and define the proper values for that environment as was done earlier for SHA256. Signed-off-by: Ross Philipson --- lib/crypto/sha512.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/crypto/sha512.c b/lib/crypto/sha512.c index 605eab51aabd..160e81d86da6 100644 --- a/lib/crypto/sha512.c +++ b/lib/crypto/sha512.c @@ -133,7 +133,7 @@ sha512_blocks_generic(struct sha512_block_state *state, } while (--nblocks); } -#ifdef CONFIG_CRYPTO_LIB_SHA512_ARCH +#if defined(CONFIG_CRYPTO_LIB_SHA512_ARCH) && !defined(__DISABLE_EXPORTS) #include "sha512.h" /* $(SRCARCH)/sha512.h */ #else #define sha512_blocks sha512_blocks_generic @@ -250,6 +250,12 @@ void sha512(const u8 *data, size_t len, u8 out[SHA512_DIGEST_SIZE]) } EXPORT_SYMBOL_GPL(sha512); +/* + * Pre-boot environments (as indicated by __DISABLE_EXPORTS being defined) + * don't need the SHA2 HMAC support code. + */ +#ifndef __DISABLE_EXPORTS + static void __hmac_sha512_preparekey(struct sha512_block_state *istate, struct sha512_block_state *ostate, const u8 *raw_key, size_t raw_key_len, @@ -406,6 +412,8 @@ void hmac_sha512_usingrawkey(const u8 *raw_key, size_t raw_key_len, } EXPORT_SYMBOL_GPL(hmac_sha512_usingrawkey); +#endif /* !__DISABLE_EXPORTS */ + #if defined(sha512_mod_init_arch) || defined(CONFIG_CRYPTO_FIPS) static int __init sha512_mod_init(void) { -- 2.47.3