From nobody Thu Apr 2 17:18:51 2026 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) (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 ACA35347BA8 for ; Wed, 11 Feb 2026 03:32:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770780729; cv=none; b=jFGnBnii4wqJFlpaaO2zeDbgeW+m4JY9+ClRcczBXe5FDnPkeH8430RN2etUXrOtFTOZhRXf71V2ZoCcJzIGwJyRx+XS2/ljvV063LjOhI0Ep01rexlL1xLKrvsGwOzLPXE2Qm1OIPXtN1TuCZpsz+wwaT0rBp70wmElYvdydDo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770780729; c=relaxed/simple; bh=BS4wcIwoXxB/BfRlgobZUgb7fvQ0v0BNsMCQMjGrn0Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AP2886alShW1OXDwXyu2ixKoYZ3qn3fIMtjT+XaoPqyKyE0rsgrRkvKIuJKF9lUjsbCQRknopRvm0buMx8f6WfZKfSu4VMkYohDWUJCnOm5sMbXnDFdM/6nkPCxuyMDe4++gH4ik6JegfBvNR+iTt6vbHhNAziH5n4iXHD1sroc= 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=jprI8o00; arc=none smtp.client-ip=209.85.210.171 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="jprI8o00" Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-823081bb15fso2474376b3a.3 for ; Tue, 10 Feb 2026 19:32:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770780728; x=1771385528; 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=oi2wlCfDaGRwhyBd7+2iWudqGoJb/SncUXJkMt9402Q=; b=jprI8o00x/piRHbGbfv+vhlDiRy7bl8rTIZubxCtUkcFnIk0PG/z/o2Z6SN9QlNpC2 AK2g1TctXDWK4gQwcA/UzFx7bzUCfzBj5JUa/Jb0MHCLfsMkUCf46ETIBRt4nH4dNSW0 9NR1oAr6WzmsOpiyfFCLBikDE0qU0JgH2EGpuOR5DrK/hPjP5WhGzBvl/FJCpt75sF5H qeqGN02Skl204CHdm8ms/3H3msbpQhqQWfVZodl7V3/jTUB++ZhmnKmCiroIDWPa4esa 34I0qfySLErFdOot3YpQ1ImNu4rKFzwMKxMoTNmT5Pexct15VusPiDax7O0hwVoaXLg2 oKTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770780728; x=1771385528; 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=oi2wlCfDaGRwhyBd7+2iWudqGoJb/SncUXJkMt9402Q=; b=YK3FIU/4XFryeodrLoZObqE6jzyQtF4vkelxbkBRF76dWb2hMkfxIMaB0zRc3/6Avy QbDsrDaJNWbwtkZevotwDHx+fPZDIODWSBj+tU5GKJV7zpqkqsyaCWIW3jey+IJ8MTBG wl6AYWJ1aAtw1ybHjdSCHj5GA7FCnNG/rJlMiWvvLvEGbgM1GGOHqmWCeUM3iUN6YrpN LT5GK0YcUfizWlyqGi+WfzPV7FopChExKZh70nu2VBcg5LS/PBPVPOYSvpPEItS+HVZ9 gv73Nk4vuW6mEEpLgu9tMWNYtIZZx8He97J/gJeBYrQfthtQLZRtILutMKB9wFpoDI/Z QV9A== X-Forwarded-Encrypted: i=1; AJvYcCXaVZpWA2cnuDGDAQBQtxu3zSDf4Ai7ReExn1qHXe+w4ohwCHajiXJM64VU4TYWZzeTRg1qiz1cVmh2Bj4=@vger.kernel.org X-Gm-Message-State: AOJu0YxtOws7tadYldIMUHqcb8j7FXB4WidHNAio/NAN/EJRe77vF7cL PusHJFWLTFX6L/E+C5IhSgeNrKxf868gUA2JruamqfVN3PmuD29/Pw4S X-Gm-Gg: AZuq6aKr7Vt09p+ruD9/h1/NqN/ZC6NtnG71pivvdHLjopaN4ZhqRNLdnRMbwSe2u9S Pb66cehVt4ab8RkxzNOUbU2KRtkARYCvEKwVMr+BzQb0c9KEF5B/0m1vB4mP1OQJliy6toiIVca 0WT+qgrmH8d3XQZqQJQ2Kv/2JCUlmoQZcl6cWbwHNE+oZ9slRr0mOdaTfcO3FLBckesVYmWkJYk lIvm87NGFq2ZuZoRR0qTXUmmIa8S2O2rJ91WeB92+OmCNDPWtmUC8JygVrDf2IFUDVRHVqogCGK 4SxCgdU33ubZCnCnM1+Mzts6RxoEK25A6BH21oTXCi7g08TcKEHEfyx+MH5/aLvoNe62bviuSX4 LxaggHe8+iFFKMeaMg9KvungzdwE42HvqU2++QBDIFCCiTaK4ZBNtLx/0MFKiGF0WQSeKzldzzp cbNxpw/++fQAy78fMhwi6c6LRSjHbqPfipYHnaWoxE+A== X-Received: by 2002:a05:6a20:cfa9:b0:334:87c2:445 with SMTP id adf61e73a8af0-3942e3c472amr1397613637.36.1770780728067; Tue, 10 Feb 2026 19:32:08 -0800 (PST) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c6e197d63c9sm464856a12.20.2026.02.10.19.32.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 19:32:07 -0800 (PST) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: bhelgaas@google.com, lukas@wunner.de, rust-for-linux@vger.kernel.org, akpm@linux-foundation.org, linux-pci@vger.kernel.org, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org Cc: alex.gaynor@gmail.com, benno.lossin@proton.me, boqun.feng@gmail.com, a.hindborg@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, tmgross@umich.edu, alistair23@gmail.com, ojeda@kernel.org, wilfred.mallawa@wdc.com, aliceryhl@google.com, Alistair Francis Subject: [RFC v3 20/27] crypto: sha: Load early in boot Date: Wed, 11 Feb 2026 13:29:27 +1000 Message-ID: <20260211032935.2705841-21-alistair.francis@wdc.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260211032935.2705841-1-alistair.francis@wdc.com> References: <20260211032935.2705841-1-alistair.francis@wdc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alistair Francis Work is ongoing to support PCIe device attestation and authentication. As part of this probing a PCIe device will require generating hashes via the SPDM protocol to the kernel. Linux should verify the device before enabling the device, which means we need the crypto functions to be ready before arch initilisation (where PCIe init happens). Move the crypto init to postcore to ensure it's loaded before PCIe devices. This allows us to verify the certificate chain provided by a PCIe device via SPDM before we enable it. Signed-off-by: Alistair Francis Reviewed-by: Jonathan Cameron --- crypto/sha256.c | 2 +- crypto/sha3.c | 2 +- crypto/sha512.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crypto/sha256.c b/crypto/sha256.c index fb81defe084c..0ebe96f89733 100644 --- a/crypto/sha256.c +++ b/crypto/sha256.c @@ -398,7 +398,7 @@ static int __init crypto_sha256_mod_init(void) { return crypto_register_shashes(algs, ARRAY_SIZE(algs)); } -module_init(crypto_sha256_mod_init); +postcore_initcall(crypto_sha256_mod_init); =20 static void __exit crypto_sha256_mod_exit(void) { diff --git a/crypto/sha3.c b/crypto/sha3.c index 8f364979ec89..d37ce694b50a 100644 --- a/crypto/sha3.c +++ b/crypto/sha3.c @@ -145,7 +145,7 @@ static int __init crypto_sha3_mod_init(void) { return crypto_register_shashes(algs, ARRAY_SIZE(algs)); } -module_init(crypto_sha3_mod_init); +postcore_initcall(crypto_sha3_mod_init); =20 static void __exit crypto_sha3_mod_exit(void) { diff --git a/crypto/sha512.c b/crypto/sha512.c index d320fe53913f..6effa6043b55 100644 --- a/crypto/sha512.c +++ b/crypto/sha512.c @@ -404,7 +404,7 @@ static int __init crypto_sha512_mod_init(void) { return crypto_register_shashes(algs, ARRAY_SIZE(algs)); } -module_init(crypto_sha512_mod_init); +postcore_initcall(crypto_sha512_mod_init); =20 static void __exit crypto_sha512_mod_exit(void) { --=20 2.52.0