Change-Id: I23f9e2fca46bbb821ea42c784a3ff2ab74d61a2d
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/c/photon/+/22098
Reviewed-by: Keerthana K <keerthanak@vmware.com>
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/c/photon/+/22521
Tested-by: Ajay Kaher <akaher@vmware.com>
| 1 | 1 |
deleted file mode 100644 |
| ... | ... |
@@ -1,278 +0,0 @@ |
| 1 |
-From a31ce76f47615c99cc429e8ca0c615401a6f0b0e Mon Sep 17 00:00:00 2001 |
|
| 2 |
-From: Keerthana K <keerthanak@vmware.com> |
|
| 3 |
-Date: Wed, 20 Sep 2023 07:38:08 +0000 |
|
| 4 |
-Subject: [PATCH] FIPS canister binary usage |
|
| 5 |
- |
|
| 6 |
-Build with fips canister and skip building crypto algorithms. |
|
| 7 |
-Invoke fips canister integrity check during kernel startup. |
|
| 8 |
- |
|
| 9 |
-This patch can be used at two stages: |
|
| 10 |
- 1. Prerequisite patch for canister creation. |
|
| 11 |
- 2. Binary canister usage time. |
|
| 12 |
- |
|
| 13 |
-Signed-off-by: Alexey Makhalov <amakhalov@vmware.com> |
|
| 14 |
-Signed-off-by: Keerthana K <keerthanak@vmware.com> |
|
| 15 |
-Signed-off-by: Vamsi Krishna Brahmajosyula <vbrahmajosyula@vmware.com> |
|
| 16 |
- arch/x86/crypto/Makefile | 4 -- |
|
| 17 |
- crypto/Makefile | 108 +++++++++++++++++++++++++++++++-------- |
|
| 18 |
- init/main.c | 3 ++ |
|
| 19 |
- lib/crypto/Makefile | 9 ---- |
|
| 20 |
- 4 files changed, 89 insertions(+), 35 deletions(-) |
|
| 21 |
- |
|
| 22 |
-diff --git a/arch/x86/crypto/Makefile b/arch/x86/crypto/Makefile |
|
| 23 |
-index 3b1d701a4..3836c4e30 100644 |
|
| 24 |
-+++ b/arch/x86/crypto/Makefile |
|
| 25 |
-@@ -46,10 +46,6 @@ obj-$(CONFIG_CRYPTO_CHACHA20_X86_64) += chacha-x86_64.o |
|
| 26 |
- chacha-x86_64-y := chacha-avx2-x86_64.o chacha-ssse3-x86_64.o chacha_glue.o |
|
| 27 |
- chacha-x86_64-$(CONFIG_AS_AVX512) += chacha-avx512vl-x86_64.o |
|
| 28 |
- |
|
| 29 |
--obj-$(CONFIG_CRYPTO_AES_NI_INTEL) += aesni-intel.o |
|
| 30 |
--aesni-intel-y := aesni-intel_asm.o aesni-intel_glue.o |
|
| 31 |
--aesni-intel-$(CONFIG_64BIT) += aesni-intel_avx-x86_64.o aes_ctrby8_avx-x86_64.o |
|
| 32 |
-- |
|
| 33 |
- obj-$(CONFIG_CRYPTO_SHA1_SSSE3) += sha1-ssse3.o |
|
| 34 |
- sha1-ssse3-y := sha1_avx2_x86_64_asm.o sha1_ssse3_asm.o sha1_ssse3_glue.o |
|
| 35 |
- sha1-ssse3-$(CONFIG_AS_SHA1_NI) += sha1_ni_asm.o |
|
| 36 |
-diff --git a/crypto/Makefile b/crypto/Makefile |
|
| 37 |
-index ea47aeeb1..1c6775c9a 100644 |
|
| 38 |
-+++ b/crypto/Makefile |
|
| 39 |
-@@ -44,7 +44,6 @@ rsa_generic-y += rsaprivkey.asn1.o |
|
| 40 |
- rsa_generic-y += rsa.o |
|
| 41 |
- rsa_generic-y += rsa_helper.o |
|
| 42 |
- rsa_generic-y += rsa-pkcs1pad.o |
|
| 43 |
--obj-$(CONFIG_CRYPTO_RSA) += rsa_generic.o |
|
| 44 |
- |
|
| 45 |
- $(obj)/sm2signature.asn1.o: $(obj)/sm2signature.asn1.c $(obj)/sm2signature.asn1.h |
|
| 46 |
- $(obj)/sm2.o: $(obj)/sm2signature.asn1.h |
|
| 47 |
-@@ -53,13 +52,11 @@ sm2_generic-y += sm2signature.asn1.o |
|
| 48 |
- sm2_generic-y += sm2.o |
|
| 49 |
- |
|
| 50 |
- obj-$(CONFIG_CRYPTO_SM2) += sm2_generic.o |
|
| 51 |
--obj-$(CONFIG_CRYPTO_SELF_TEST) += crypto_self_test.o |
|
| 52 |
- |
|
| 53 |
- $(obj)/ecdsasignature.asn1.o: $(obj)/ecdsasignature.asn1.c $(obj)/ecdsasignature.asn1.h |
|
| 54 |
- $(obj)/ecdsa.o: $(obj)/ecdsasignature.asn1.h |
|
| 55 |
- ecdsa_generic-y += ecdsa.o |
|
| 56 |
- ecdsa_generic-y += ecdsasignature.asn1.o |
|
| 57 |
--obj-$(CONFIG_CRYPTO_ECDSA) += ecdsa_generic.o |
|
| 58 |
- |
|
| 59 |
- crypto_acompress-y := acompress.o |
|
| 60 |
- crypto_acompress-y += scompress.o |
|
| 61 |
-@@ -67,22 +64,15 @@ obj-$(CONFIG_CRYPTO_ACOMP2) += crypto_acompress.o |
|
| 62 |
- |
|
| 63 |
- cryptomgr-y := algboss.o testmgr.o |
|
| 64 |
- |
|
| 65 |
--obj-$(CONFIG_CRYPTO_MANAGER2) += cryptomgr.o |
|
| 66 |
- obj-$(CONFIG_CRYPTO_USER) += crypto_user.o |
|
| 67 |
- crypto_user-y := crypto_user_base.o |
|
| 68 |
- crypto_user-$(CONFIG_CRYPTO_STATS) += crypto_user_stat.o |
|
| 69 |
--obj-$(CONFIG_CRYPTO_CMAC) += cmac.o |
|
| 70 |
--obj-$(CONFIG_CRYPTO_HMAC) += hmac.o |
|
| 71 |
- obj-$(CONFIG_CRYPTO_VMAC) += vmac.o |
|
| 72 |
- obj-$(CONFIG_CRYPTO_XCBC) += xcbc.o |
|
| 73 |
- obj-$(CONFIG_CRYPTO_NULL2) += crypto_null.o |
|
| 74 |
- obj-$(CONFIG_CRYPTO_MD4) += md4.o |
|
| 75 |
- obj-$(CONFIG_CRYPTO_MD5) += md5.o |
|
| 76 |
- obj-$(CONFIG_CRYPTO_RMD160) += rmd160.o |
|
| 77 |
--obj-$(CONFIG_CRYPTO_SHA1) += sha1_generic.o |
|
| 78 |
--obj-$(CONFIG_CRYPTO_SHA256) += sha256_generic.o |
|
| 79 |
--obj-$(CONFIG_CRYPTO_SHA512) += sha512_generic.o |
|
| 80 |
--obj-$(CONFIG_CRYPTO_SHA3) += sha3_generic.o |
|
| 81 |
- obj-$(CONFIG_CRYPTO_SM3) += sm3.o |
|
| 82 |
- obj-$(CONFIG_CRYPTO_SM3_GENERIC) += sm3_generic.o |
|
| 83 |
- obj-$(CONFIG_CRYPTO_STREEBOG) += streebog_generic.o |
|
| 84 |
-@@ -91,21 +81,13 @@ CFLAGS_wp512.o := $(call cc-option,-fno-schedule-insns) # https://gcc.gnu.org/b |
|
| 85 |
- obj-$(CONFIG_CRYPTO_BLAKE2B) += blake2b_generic.o |
|
| 86 |
- CFLAGS_blake2b_generic.o := -Wframe-larger-than=4096 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105930 |
|
| 87 |
- obj-$(CONFIG_CRYPTO_GF128MUL) += gf128mul.o |
|
| 88 |
--obj-$(CONFIG_CRYPTO_ECB) += ecb.o |
|
| 89 |
--obj-$(CONFIG_CRYPTO_CBC) += cbc.o |
|
| 90 |
--obj-$(CONFIG_CRYPTO_CFB) += cfb.o |
|
| 91 |
- obj-$(CONFIG_CRYPTO_PCBC) += pcbc.o |
|
| 92 |
--obj-$(CONFIG_CRYPTO_CTS) += cts.o |
|
| 93 |
- obj-$(CONFIG_CRYPTO_LRW) += lrw.o |
|
| 94 |
--obj-$(CONFIG_CRYPTO_XTS) += xts.o |
|
| 95 |
--obj-$(CONFIG_CRYPTO_CTR) += ctr.o |
|
| 96 |
- obj-$(CONFIG_CRYPTO_XCTR) += xctr.o |
|
| 97 |
- obj-$(CONFIG_CRYPTO_HCTR2) += hctr2.o |
|
| 98 |
- obj-$(CONFIG_CRYPTO_KEYWRAP) += keywrap.o |
|
| 99 |
- obj-$(CONFIG_CRYPTO_ADIANTUM) += adiantum.o |
|
| 100 |
- obj-$(CONFIG_CRYPTO_NHPOLY1305) += nhpoly1305.o |
|
| 101 |
--obj-$(CONFIG_CRYPTO_GCM) += gcm.o |
|
| 102 |
--obj-$(CONFIG_CRYPTO_CCM) += ccm.o |
|
| 103 |
- obj-$(CONFIG_CRYPTO_CHACHA20POLY1305) += chacha20poly1305.o |
|
| 104 |
- obj-$(CONFIG_CRYPTO_AEGIS128) += aegis128.o |
|
| 105 |
- aegis128-y := aegis128-core.o |
|
| 106 |
-@@ -140,7 +122,6 @@ obj-$(CONFIG_CRYPTO_TWOFISH) += twofish_generic.o |
|
| 107 |
- obj-$(CONFIG_CRYPTO_TWOFISH_COMMON) += twofish_common.o |
|
| 108 |
- obj-$(CONFIG_CRYPTO_SERPENT) += serpent_generic.o |
|
| 109 |
- CFLAGS_serpent_generic.o := $(call cc-option,-fsched-pressure) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149 |
|
| 110 |
--obj-$(CONFIG_CRYPTO_AES) += aes_generic.o |
|
| 111 |
- CFLAGS_aes_generic.o := $(call cc-option,-fno-code-hoisting) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83356 |
|
| 112 |
- obj-$(CONFIG_CRYPTO_SM4) += sm4.o |
|
| 113 |
- obj-$(CONFIG_CRYPTO_SM4_GENERIC) += sm4_generic.o |
|
| 114 |
-@@ -171,7 +152,6 @@ obj-$(CONFIG_CRYPTO_XXHASH) += xxhash_generic.o |
|
| 115 |
- obj-$(CONFIG_CRYPTO_842) += 842.o |
|
| 116 |
- obj-$(CONFIG_CRYPTO_RNG2) += rng.o |
|
| 117 |
- obj-$(CONFIG_CRYPTO_ANSI_CPRNG) += ansi_cprng.o |
|
| 118 |
--obj-$(CONFIG_CRYPTO_DRBG) += drbg.o |
|
| 119 |
- CFLAGS_jitterentropy.o = -O0 |
|
| 120 |
- KASAN_SANITIZE_jitterentropy.o = n |
|
| 121 |
- UBSAN_SANITIZE_jitterentropy.o = n |
|
| 122 |
-@@ -185,13 +165,11 @@ obj-$(CONFIG_CRYPTO_USER_API_RNG) += algif_rng.o |
|
| 123 |
- obj-$(CONFIG_CRYPTO_USER_API_AEAD) += algif_aead.o |
|
| 124 |
- obj-$(CONFIG_CRYPTO_ZSTD) += zstd.o |
|
| 125 |
- obj-$(CONFIG_CRYPTO_OFB) += ofb.o |
|
| 126 |
--obj-$(CONFIG_CRYPTO_ECC) += ecc.o |
|
| 127 |
- obj-$(CONFIG_CRYPTO_ESSIV) += essiv.o |
|
| 128 |
- obj-$(CONFIG_CRYPTO_CURVE25519) += curve25519-generic.o |
|
| 129 |
- |
|
| 130 |
- ecdh_generic-y += ecdh.o |
|
| 131 |
- ecdh_generic-y += ecdh_helper.o |
|
| 132 |
--obj-$(CONFIG_CRYPTO_ECDH) += ecdh_generic.o |
|
| 133 |
- |
|
| 134 |
- $(obj)/ecrdsa_params.asn1.o: $(obj)/ecrdsa_params.asn1.c $(obj)/ecrdsa_params.asn1.h |
|
| 135 |
- $(obj)/ecrdsa_pub_key.asn1.o: $(obj)/ecrdsa_pub_key.asn1.c $(obj)/ecrdsa_pub_key.asn1.h |
|
| 136 |
-@@ -215,3 +193,89 @@ obj-$(CONFIG_CRYPTO_SIMD) += crypto_simd.o |
|
| 137 |
- # Key derivation function |
|
| 138 |
- # |
|
| 139 |
- obj-$(CONFIG_CRYPTO_KDF800108_CTR) += kdf_sp800108.o |
|
| 140 |
-+obj-$(CONFIG_CRYPTO_FIPS) += fips_canister_wrapper_asm.o fips_canister_wrapper.o fips_canister.o |
|
| 141 |
-+obj-$(CONFIG_CRYPTO_FIPS) += testmgr_fips_canister_wrapper.o aesni-intel_glue_fips_canister_wrapper.o |
|
| 142 |
-+ |
|
| 143 |
-+ifdef CONFIG_CRYPTO_FIPS |
|
| 144 |
-+ifneq ($(CONFIG_CRYPTO_FIPS),y) |
|
| 145 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_FIPS=y) |
|
| 146 |
-+endif |
|
| 147 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_AEAD)),y) |
|
| 148 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_AEAD=y) |
|
| 149 |
-+endif |
|
| 150 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_RSA)),y) |
|
| 151 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_RSA=y) |
|
| 152 |
-+endif |
|
| 153 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_MANAGER)),y) |
|
| 154 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_MANAGER=y) |
|
| 155 |
-+endif |
|
| 156 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_MANAGER2)),y) |
|
| 157 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_MANAGER2=y) |
|
| 158 |
-+endif |
|
| 159 |
-+ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS |
|
| 160 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_MANAGER_DISABLE_TESTS to be unset) |
|
| 161 |
-+endif |
|
| 162 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_HMAC)),y) |
|
| 163 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_HMAC=y) |
|
| 164 |
-+endif |
|
| 165 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_SHA256)),y) |
|
| 166 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_SHA256=y) |
|
| 167 |
-+endif |
|
| 168 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_SHA512)),y) |
|
| 169 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_SHA512=y) |
|
| 170 |
-+endif |
|
| 171 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_AES)),y) |
|
| 172 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_AES=y) |
|
| 173 |
-+endif |
|
| 174 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_ECB)),y) |
|
| 175 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_ECB=y) |
|
| 176 |
-+endif |
|
| 177 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CBC)),y) |
|
| 178 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_CBC=y) |
|
| 179 |
-+endif |
|
| 180 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_XTS)),y) |
|
| 181 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_XTS=y) |
|
| 182 |
-+endif |
|
| 183 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CTR)),y) |
|
| 184 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_CTR=y) |
|
| 185 |
-+endif |
|
| 186 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_DRBG)),y) |
|
| 187 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_DRBG=y) |
|
| 188 |
-+endif |
|
| 189 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_DRBG_HASH)),y) |
|
| 190 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_DRBG_HASH=y) |
|
| 191 |
-+endif |
|
| 192 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_DRBG_CTR)),y) |
|
| 193 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_DRBG_CTR=y) |
|
| 194 |
-+endif |
|
| 195 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_ECC)),y) |
|
| 196 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_ECC=y) |
|
| 197 |
-+endif |
|
| 198 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_ECDH)),y) |
|
| 199 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_ECDH=y) |
|
| 200 |
-+endif |
|
| 201 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_AES_NI_INTEL)),y) |
|
| 202 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_AES_NI_INTEL=y) |
|
| 203 |
-+endif |
|
| 204 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CFB)),y) |
|
| 205 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_CFB=y) |
|
| 206 |
-+endif |
|
| 207 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CMAC)),y) |
|
| 208 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_CMAC=y) |
|
| 209 |
-+endif |
|
| 210 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CTS)),y) |
|
| 211 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_CTS=y) |
|
| 212 |
-+endif |
|
| 213 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_ECDSA)),y) |
|
| 214 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_ECDSA=y) |
|
| 215 |
-+endif |
|
| 216 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CCM)),y) |
|
| 217 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_CCM=y) |
|
| 218 |
-+endif |
|
| 219 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_GCM)),y) |
|
| 220 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_GCM=y) |
|
| 221 |
-+endif |
|
| 222 |
-+ifneq ($(subst Y,y,$(CONFIG_CRYPTO_SHA3)),y) |
|
| 223 |
-+ $(error FIPS canister requires CONFIG_CRYPTO_SHA3=y) |
|
| 224 |
-+endif |
|
| 225 |
-+endif |
|
| 226 |
-diff --git a/init/main.c b/init/main.c |
|
| 227 |
-index fe378351e..962edcc54 100644 |
|
| 228 |
-+++ b/init/main.c |
|
| 229 |
-@@ -882,6 +882,8 @@ static int __init early_randomize_kstack_offset(char *buf) |
|
| 230 |
- early_param("randomize_kstack_offset", early_randomize_kstack_offset);
|
|
| 231 |
- #endif |
|
| 232 |
- |
|
| 233 |
-+extern int fips_integrity_init(void); |
|
| 234 |
-+ |
|
| 235 |
- void __init __weak arch_call_rest_init(void) |
|
| 236 |
- {
|
|
| 237 |
- rest_init(); |
|
| 238 |
-@@ -983,6 +985,7 @@ asmlinkage __visible void __init __no_sanitize_address start_kernel(void) |
|
| 239 |
- /* Architectural and non-timekeeping rng init, before allocator init */ |
|
| 240 |
- random_init_early(command_line); |
|
| 241 |
- |
|
| 242 |
-+ fips_integrity_init(); |
|
| 243 |
- /* |
|
| 244 |
- * These use large bootmem allocations and must precede |
|
| 245 |
- * kmem_cache_init() |
|
| 246 |
-diff --git a/lib/crypto/Makefile b/lib/crypto/Makefile |
|
| 247 |
-index c852f067a..33d229c6d 100644 |
|
| 248 |
-+++ b/lib/crypto/Makefile |
|
| 249 |
-@@ -7,9 +7,6 @@ libcryptoutils-y := memneq.o utils.o |
|
| 250 |
- obj-y += chacha.o |
|
| 251 |
- obj-$(CONFIG_CRYPTO_LIB_CHACHA_GENERIC) += libchacha.o |
|
| 252 |
- |
|
| 253 |
--obj-$(CONFIG_CRYPTO_LIB_AES) += libaes.o |
|
| 254 |
--libaes-y := aes.o |
|
| 255 |
-- |
|
| 256 |
- obj-$(CONFIG_CRYPTO_LIB_ARC4) += libarc4.o |
|
| 257 |
- libarc4-y := arc4.o |
|
| 258 |
- |
|
| 259 |
-@@ -37,12 +34,6 @@ libpoly1305-y := poly1305-donna32.o |
|
| 260 |
- libpoly1305-$(CONFIG_ARCH_SUPPORTS_INT128) := poly1305-donna64.o |
|
| 261 |
- libpoly1305-y += poly1305.o |
|
| 262 |
- |
|
| 263 |
--obj-$(CONFIG_CRYPTO_LIB_SHA1) += libsha1.o |
|
| 264 |
--libsha1-y := sha1.o |
|
| 265 |
-- |
|
| 266 |
--obj-$(CONFIG_CRYPTO_LIB_SHA256) += libsha256.o |
|
| 267 |
--libsha256-y := sha256.o |
|
| 268 |
-- |
|
| 269 |
- ifneq ($(CONFIG_CRYPTO_MANAGER_DISABLE_TESTS),y) |
|
| 270 |
- libblake2s-y += blake2s-selftest.o |
|
| 271 |
- libchacha20poly1305-y += chacha20poly1305-selftest.o |
|
| 272 |
-2.41.0 |
| 273 | 1 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,278 @@ |
| 0 |
+From a31ce76f47615c99cc429e8ca0c615401a6f0b0e Mon Sep 17 00:00:00 2001 |
|
| 1 |
+From: Keerthana K <keerthanak@vmware.com> |
|
| 2 |
+Date: Wed, 20 Sep 2023 07:38:08 +0000 |
|
| 3 |
+Subject: [PATCH] FIPS canister binary usage |
|
| 4 |
+ |
|
| 5 |
+Build with fips canister and skip building crypto algorithms. |
|
| 6 |
+Invoke fips canister integrity check during kernel startup. |
|
| 7 |
+ |
|
| 8 |
+This patch can be used at two stages: |
|
| 9 |
+ 1. Prerequisite patch for canister creation. |
|
| 10 |
+ 2. Binary canister usage time. |
|
| 11 |
+ |
|
| 12 |
+Signed-off-by: Alexey Makhalov <amakhalov@vmware.com> |
|
| 13 |
+Signed-off-by: Keerthana K <keerthanak@vmware.com> |
|
| 14 |
+Signed-off-by: Vamsi Krishna Brahmajosyula <vbrahmajosyula@vmware.com> |
|
| 15 |
+--- |
|
| 16 |
+ arch/x86/crypto/Makefile | 4 -- |
|
| 17 |
+ crypto/Makefile | 108 +++++++++++++++++++++++++++++++-------- |
|
| 18 |
+ init/main.c | 3 ++ |
|
| 19 |
+ lib/crypto/Makefile | 9 ---- |
|
| 20 |
+ 4 files changed, 89 insertions(+), 35 deletions(-) |
|
| 21 |
+ |
|
| 22 |
+diff --git a/arch/x86/crypto/Makefile b/arch/x86/crypto/Makefile |
|
| 23 |
+index 3b1d701a4..3836c4e30 100644 |
|
| 24 |
+--- a/arch/x86/crypto/Makefile |
|
| 25 |
+@@ -46,10 +46,6 @@ obj-$(CONFIG_CRYPTO_CHACHA20_X86_64) += chacha-x86_64.o |
|
| 26 |
+ chacha-x86_64-y := chacha-avx2-x86_64.o chacha-ssse3-x86_64.o chacha_glue.o |
|
| 27 |
+ chacha-x86_64-$(CONFIG_AS_AVX512) += chacha-avx512vl-x86_64.o |
|
| 28 |
+ |
|
| 29 |
+-obj-$(CONFIG_CRYPTO_AES_NI_INTEL) += aesni-intel.o |
|
| 30 |
+-aesni-intel-y := aesni-intel_asm.o aesni-intel_glue.o |
|
| 31 |
+-aesni-intel-$(CONFIG_64BIT) += aesni-intel_avx-x86_64.o aes_ctrby8_avx-x86_64.o |
|
| 32 |
+- |
|
| 33 |
+ obj-$(CONFIG_CRYPTO_SHA1_SSSE3) += sha1-ssse3.o |
|
| 34 |
+ sha1-ssse3-y := sha1_avx2_x86_64_asm.o sha1_ssse3_asm.o sha1_ssse3_glue.o |
|
| 35 |
+ sha1-ssse3-$(CONFIG_AS_SHA1_NI) += sha1_ni_asm.o |
|
| 36 |
+diff --git a/crypto/Makefile b/crypto/Makefile |
|
| 37 |
+index ea47aeeb1..1c6775c9a 100644 |
|
| 38 |
+--- a/crypto/Makefile |
|
| 39 |
+@@ -44,7 +44,6 @@ rsa_generic-y += rsaprivkey.asn1.o |
|
| 40 |
+ rsa_generic-y += rsa.o |
|
| 41 |
+ rsa_generic-y += rsa_helper.o |
|
| 42 |
+ rsa_generic-y += rsa-pkcs1pad.o |
|
| 43 |
+-obj-$(CONFIG_CRYPTO_RSA) += rsa_generic.o |
|
| 44 |
+ |
|
| 45 |
+ $(obj)/sm2signature.asn1.o: $(obj)/sm2signature.asn1.c $(obj)/sm2signature.asn1.h |
|
| 46 |
+ $(obj)/sm2.o: $(obj)/sm2signature.asn1.h |
|
| 47 |
+@@ -53,13 +52,11 @@ sm2_generic-y += sm2signature.asn1.o |
|
| 48 |
+ sm2_generic-y += sm2.o |
|
| 49 |
+ |
|
| 50 |
+ obj-$(CONFIG_CRYPTO_SM2) += sm2_generic.o |
|
| 51 |
+-obj-$(CONFIG_CRYPTO_SELF_TEST) += crypto_self_test.o |
|
| 52 |
+ |
|
| 53 |
+ $(obj)/ecdsasignature.asn1.o: $(obj)/ecdsasignature.asn1.c $(obj)/ecdsasignature.asn1.h |
|
| 54 |
+ $(obj)/ecdsa.o: $(obj)/ecdsasignature.asn1.h |
|
| 55 |
+ ecdsa_generic-y += ecdsa.o |
|
| 56 |
+ ecdsa_generic-y += ecdsasignature.asn1.o |
|
| 57 |
+-obj-$(CONFIG_CRYPTO_ECDSA) += ecdsa_generic.o |
|
| 58 |
+ |
|
| 59 |
+ crypto_acompress-y := acompress.o |
|
| 60 |
+ crypto_acompress-y += scompress.o |
|
| 61 |
+@@ -67,22 +64,15 @@ obj-$(CONFIG_CRYPTO_ACOMP2) += crypto_acompress.o |
|
| 62 |
+ |
|
| 63 |
+ cryptomgr-y := algboss.o testmgr.o |
|
| 64 |
+ |
|
| 65 |
+-obj-$(CONFIG_CRYPTO_MANAGER2) += cryptomgr.o |
|
| 66 |
+ obj-$(CONFIG_CRYPTO_USER) += crypto_user.o |
|
| 67 |
+ crypto_user-y := crypto_user_base.o |
|
| 68 |
+ crypto_user-$(CONFIG_CRYPTO_STATS) += crypto_user_stat.o |
|
| 69 |
+-obj-$(CONFIG_CRYPTO_CMAC) += cmac.o |
|
| 70 |
+-obj-$(CONFIG_CRYPTO_HMAC) += hmac.o |
|
| 71 |
+ obj-$(CONFIG_CRYPTO_VMAC) += vmac.o |
|
| 72 |
+ obj-$(CONFIG_CRYPTO_XCBC) += xcbc.o |
|
| 73 |
+ obj-$(CONFIG_CRYPTO_NULL2) += crypto_null.o |
|
| 74 |
+ obj-$(CONFIG_CRYPTO_MD4) += md4.o |
|
| 75 |
+ obj-$(CONFIG_CRYPTO_MD5) += md5.o |
|
| 76 |
+ obj-$(CONFIG_CRYPTO_RMD160) += rmd160.o |
|
| 77 |
+-obj-$(CONFIG_CRYPTO_SHA1) += sha1_generic.o |
|
| 78 |
+-obj-$(CONFIG_CRYPTO_SHA256) += sha256_generic.o |
|
| 79 |
+-obj-$(CONFIG_CRYPTO_SHA512) += sha512_generic.o |
|
| 80 |
+-obj-$(CONFIG_CRYPTO_SHA3) += sha3_generic.o |
|
| 81 |
+ obj-$(CONFIG_CRYPTO_SM3) += sm3.o |
|
| 82 |
+ obj-$(CONFIG_CRYPTO_SM3_GENERIC) += sm3_generic.o |
|
| 83 |
+ obj-$(CONFIG_CRYPTO_STREEBOG) += streebog_generic.o |
|
| 84 |
+@@ -91,21 +81,13 @@ CFLAGS_wp512.o := $(call cc-option,-fno-schedule-insns) # https://gcc.gnu.org/b |
|
| 85 |
+ obj-$(CONFIG_CRYPTO_BLAKE2B) += blake2b_generic.o |
|
| 86 |
+ CFLAGS_blake2b_generic.o := -Wframe-larger-than=4096 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105930 |
|
| 87 |
+ obj-$(CONFIG_CRYPTO_GF128MUL) += gf128mul.o |
|
| 88 |
+-obj-$(CONFIG_CRYPTO_ECB) += ecb.o |
|
| 89 |
+-obj-$(CONFIG_CRYPTO_CBC) += cbc.o |
|
| 90 |
+-obj-$(CONFIG_CRYPTO_CFB) += cfb.o |
|
| 91 |
+ obj-$(CONFIG_CRYPTO_PCBC) += pcbc.o |
|
| 92 |
+-obj-$(CONFIG_CRYPTO_CTS) += cts.o |
|
| 93 |
+ obj-$(CONFIG_CRYPTO_LRW) += lrw.o |
|
| 94 |
+-obj-$(CONFIG_CRYPTO_XTS) += xts.o |
|
| 95 |
+-obj-$(CONFIG_CRYPTO_CTR) += ctr.o |
|
| 96 |
+ obj-$(CONFIG_CRYPTO_XCTR) += xctr.o |
|
| 97 |
+ obj-$(CONFIG_CRYPTO_HCTR2) += hctr2.o |
|
| 98 |
+ obj-$(CONFIG_CRYPTO_KEYWRAP) += keywrap.o |
|
| 99 |
+ obj-$(CONFIG_CRYPTO_ADIANTUM) += adiantum.o |
|
| 100 |
+ obj-$(CONFIG_CRYPTO_NHPOLY1305) += nhpoly1305.o |
|
| 101 |
+-obj-$(CONFIG_CRYPTO_GCM) += gcm.o |
|
| 102 |
+-obj-$(CONFIG_CRYPTO_CCM) += ccm.o |
|
| 103 |
+ obj-$(CONFIG_CRYPTO_CHACHA20POLY1305) += chacha20poly1305.o |
|
| 104 |
+ obj-$(CONFIG_CRYPTO_AEGIS128) += aegis128.o |
|
| 105 |
+ aegis128-y := aegis128-core.o |
|
| 106 |
+@@ -140,7 +122,6 @@ obj-$(CONFIG_CRYPTO_TWOFISH) += twofish_generic.o |
|
| 107 |
+ obj-$(CONFIG_CRYPTO_TWOFISH_COMMON) += twofish_common.o |
|
| 108 |
+ obj-$(CONFIG_CRYPTO_SERPENT) += serpent_generic.o |
|
| 109 |
+ CFLAGS_serpent_generic.o := $(call cc-option,-fsched-pressure) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149 |
|
| 110 |
+-obj-$(CONFIG_CRYPTO_AES) += aes_generic.o |
|
| 111 |
+ CFLAGS_aes_generic.o := $(call cc-option,-fno-code-hoisting) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83356 |
|
| 112 |
+ obj-$(CONFIG_CRYPTO_SM4) += sm4.o |
|
| 113 |
+ obj-$(CONFIG_CRYPTO_SM4_GENERIC) += sm4_generic.o |
|
| 114 |
+@@ -171,7 +152,6 @@ obj-$(CONFIG_CRYPTO_XXHASH) += xxhash_generic.o |
|
| 115 |
+ obj-$(CONFIG_CRYPTO_842) += 842.o |
|
| 116 |
+ obj-$(CONFIG_CRYPTO_RNG2) += rng.o |
|
| 117 |
+ obj-$(CONFIG_CRYPTO_ANSI_CPRNG) += ansi_cprng.o |
|
| 118 |
+-obj-$(CONFIG_CRYPTO_DRBG) += drbg.o |
|
| 119 |
+ CFLAGS_jitterentropy.o = -O0 |
|
| 120 |
+ KASAN_SANITIZE_jitterentropy.o = n |
|
| 121 |
+ UBSAN_SANITIZE_jitterentropy.o = n |
|
| 122 |
+@@ -185,13 +165,11 @@ obj-$(CONFIG_CRYPTO_USER_API_RNG) += algif_rng.o |
|
| 123 |
+ obj-$(CONFIG_CRYPTO_USER_API_AEAD) += algif_aead.o |
|
| 124 |
+ obj-$(CONFIG_CRYPTO_ZSTD) += zstd.o |
|
| 125 |
+ obj-$(CONFIG_CRYPTO_OFB) += ofb.o |
|
| 126 |
+-obj-$(CONFIG_CRYPTO_ECC) += ecc.o |
|
| 127 |
+ obj-$(CONFIG_CRYPTO_ESSIV) += essiv.o |
|
| 128 |
+ obj-$(CONFIG_CRYPTO_CURVE25519) += curve25519-generic.o |
|
| 129 |
+ |
|
| 130 |
+ ecdh_generic-y += ecdh.o |
|
| 131 |
+ ecdh_generic-y += ecdh_helper.o |
|
| 132 |
+-obj-$(CONFIG_CRYPTO_ECDH) += ecdh_generic.o |
|
| 133 |
+ |
|
| 134 |
+ $(obj)/ecrdsa_params.asn1.o: $(obj)/ecrdsa_params.asn1.c $(obj)/ecrdsa_params.asn1.h |
|
| 135 |
+ $(obj)/ecrdsa_pub_key.asn1.o: $(obj)/ecrdsa_pub_key.asn1.c $(obj)/ecrdsa_pub_key.asn1.h |
|
| 136 |
+@@ -215,3 +193,89 @@ obj-$(CONFIG_CRYPTO_SIMD) += crypto_simd.o |
|
| 137 |
+ # Key derivation function |
|
| 138 |
+ # |
|
| 139 |
+ obj-$(CONFIG_CRYPTO_KDF800108_CTR) += kdf_sp800108.o |
|
| 140 |
++obj-$(CONFIG_CRYPTO_FIPS) += fips_canister_wrapper_asm.o fips_canister_wrapper.o fips_canister.o |
|
| 141 |
++obj-$(CONFIG_CRYPTO_FIPS) += testmgr_fips_canister_wrapper.o aesni-intel_glue_fips_canister_wrapper.o |
|
| 142 |
++ |
|
| 143 |
++ifdef CONFIG_CRYPTO_FIPS |
|
| 144 |
++ifneq ($(CONFIG_CRYPTO_FIPS),y) |
|
| 145 |
++ $(error FIPS canister requires CONFIG_CRYPTO_FIPS=y) |
|
| 146 |
++endif |
|
| 147 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_AEAD)),y) |
|
| 148 |
++ $(error FIPS canister requires CONFIG_CRYPTO_AEAD=y) |
|
| 149 |
++endif |
|
| 150 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_RSA)),y) |
|
| 151 |
++ $(error FIPS canister requires CONFIG_CRYPTO_RSA=y) |
|
| 152 |
++endif |
|
| 153 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_MANAGER)),y) |
|
| 154 |
++ $(error FIPS canister requires CONFIG_CRYPTO_MANAGER=y) |
|
| 155 |
++endif |
|
| 156 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_MANAGER2)),y) |
|
| 157 |
++ $(error FIPS canister requires CONFIG_CRYPTO_MANAGER2=y) |
|
| 158 |
++endif |
|
| 159 |
++ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS |
|
| 160 |
++ $(error FIPS canister requires CONFIG_CRYPTO_MANAGER_DISABLE_TESTS to be unset) |
|
| 161 |
++endif |
|
| 162 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_HMAC)),y) |
|
| 163 |
++ $(error FIPS canister requires CONFIG_CRYPTO_HMAC=y) |
|
| 164 |
++endif |
|
| 165 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_SHA256)),y) |
|
| 166 |
++ $(error FIPS canister requires CONFIG_CRYPTO_SHA256=y) |
|
| 167 |
++endif |
|
| 168 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_SHA512)),y) |
|
| 169 |
++ $(error FIPS canister requires CONFIG_CRYPTO_SHA512=y) |
|
| 170 |
++endif |
|
| 171 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_AES)),y) |
|
| 172 |
++ $(error FIPS canister requires CONFIG_CRYPTO_AES=y) |
|
| 173 |
++endif |
|
| 174 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_ECB)),y) |
|
| 175 |
++ $(error FIPS canister requires CONFIG_CRYPTO_ECB=y) |
|
| 176 |
++endif |
|
| 177 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CBC)),y) |
|
| 178 |
++ $(error FIPS canister requires CONFIG_CRYPTO_CBC=y) |
|
| 179 |
++endif |
|
| 180 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_XTS)),y) |
|
| 181 |
++ $(error FIPS canister requires CONFIG_CRYPTO_XTS=y) |
|
| 182 |
++endif |
|
| 183 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CTR)),y) |
|
| 184 |
++ $(error FIPS canister requires CONFIG_CRYPTO_CTR=y) |
|
| 185 |
++endif |
|
| 186 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_DRBG)),y) |
|
| 187 |
++ $(error FIPS canister requires CONFIG_CRYPTO_DRBG=y) |
|
| 188 |
++endif |
|
| 189 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_DRBG_HASH)),y) |
|
| 190 |
++ $(error FIPS canister requires CONFIG_CRYPTO_DRBG_HASH=y) |
|
| 191 |
++endif |
|
| 192 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_DRBG_CTR)),y) |
|
| 193 |
++ $(error FIPS canister requires CONFIG_CRYPTO_DRBG_CTR=y) |
|
| 194 |
++endif |
|
| 195 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_ECC)),y) |
|
| 196 |
++ $(error FIPS canister requires CONFIG_CRYPTO_ECC=y) |
|
| 197 |
++endif |
|
| 198 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_ECDH)),y) |
|
| 199 |
++ $(error FIPS canister requires CONFIG_CRYPTO_ECDH=y) |
|
| 200 |
++endif |
|
| 201 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_AES_NI_INTEL)),y) |
|
| 202 |
++ $(error FIPS canister requires CONFIG_CRYPTO_AES_NI_INTEL=y) |
|
| 203 |
++endif |
|
| 204 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CFB)),y) |
|
| 205 |
++ $(error FIPS canister requires CONFIG_CRYPTO_CFB=y) |
|
| 206 |
++endif |
|
| 207 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CMAC)),y) |
|
| 208 |
++ $(error FIPS canister requires CONFIG_CRYPTO_CMAC=y) |
|
| 209 |
++endif |
|
| 210 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CTS)),y) |
|
| 211 |
++ $(error FIPS canister requires CONFIG_CRYPTO_CTS=y) |
|
| 212 |
++endif |
|
| 213 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_ECDSA)),y) |
|
| 214 |
++ $(error FIPS canister requires CONFIG_CRYPTO_ECDSA=y) |
|
| 215 |
++endif |
|
| 216 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_CCM)),y) |
|
| 217 |
++ $(error FIPS canister requires CONFIG_CRYPTO_CCM=y) |
|
| 218 |
++endif |
|
| 219 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_GCM)),y) |
|
| 220 |
++ $(error FIPS canister requires CONFIG_CRYPTO_GCM=y) |
|
| 221 |
++endif |
|
| 222 |
++ifneq ($(subst Y,y,$(CONFIG_CRYPTO_SHA3)),y) |
|
| 223 |
++ $(error FIPS canister requires CONFIG_CRYPTO_SHA3=y) |
|
| 224 |
++endif |
|
| 225 |
++endif |
|
| 226 |
+diff --git a/init/main.c b/init/main.c |
|
| 227 |
+index fe378351e..962edcc54 100644 |
|
| 228 |
+--- a/init/main.c |
|
| 229 |
+@@ -882,6 +882,8 @@ static int __init early_randomize_kstack_offset(char *buf) |
|
| 230 |
+ early_param("randomize_kstack_offset", early_randomize_kstack_offset);
|
|
| 231 |
+ #endif |
|
| 232 |
+ |
|
| 233 |
++extern int fips_integrity_init(void); |
|
| 234 |
++ |
|
| 235 |
+ void __init __weak arch_call_rest_init(void) |
|
| 236 |
+ {
|
|
| 237 |
+ rest_init(); |
|
| 238 |
+@@ -983,6 +985,7 @@ asmlinkage __visible void __init __no_sanitize_address start_kernel(void) |
|
| 239 |
+ /* Architectural and non-timekeeping rng init, before allocator init */ |
|
| 240 |
+ random_init_early(command_line); |
|
| 241 |
+ |
|
| 242 |
++ fips_integrity_init(); |
|
| 243 |
+ /* |
|
| 244 |
+ * These use large bootmem allocations and must precede |
|
| 245 |
+ * kmem_cache_init() |
|
| 246 |
+diff --git a/lib/crypto/Makefile b/lib/crypto/Makefile |
|
| 247 |
+index c852f067a..33d229c6d 100644 |
|
| 248 |
+--- a/lib/crypto/Makefile |
|
| 249 |
+@@ -7,9 +7,6 @@ libcryptoutils-y := memneq.o utils.o |
|
| 250 |
+ obj-y += chacha.o |
|
| 251 |
+ obj-$(CONFIG_CRYPTO_LIB_CHACHA_GENERIC) += libchacha.o |
|
| 252 |
+ |
|
| 253 |
+-obj-$(CONFIG_CRYPTO_LIB_AES) += libaes.o |
|
| 254 |
+-libaes-y := aes.o |
|
| 255 |
+- |
|
| 256 |
+ obj-$(CONFIG_CRYPTO_LIB_ARC4) += libarc4.o |
|
| 257 |
+ libarc4-y := arc4.o |
|
| 258 |
+ |
|
| 259 |
+@@ -37,12 +34,6 @@ libpoly1305-y := poly1305-donna32.o |
|
| 260 |
+ libpoly1305-$(CONFIG_ARCH_SUPPORTS_INT128) := poly1305-donna64.o |
|
| 261 |
+ libpoly1305-y += poly1305.o |
|
| 262 |
+ |
|
| 263 |
+-obj-$(CONFIG_CRYPTO_LIB_SHA1) += libsha1.o |
|
| 264 |
+-libsha1-y := sha1.o |
|
| 265 |
+- |
|
| 266 |
+-obj-$(CONFIG_CRYPTO_LIB_SHA256) += libsha256.o |
|
| 267 |
+-libsha256-y := sha256.o |
|
| 268 |
+- |
|
| 269 |
+ ifneq ($(CONFIG_CRYPTO_MANAGER_DISABLE_TESTS),y) |
|
| 270 |
+ libblake2s-y += blake2s-selftest.o |
|
| 271 |
+ libchacha20poly1305-y += chacha20poly1305-selftest.o |
|
| 272 |
+-- |
|
| 273 |
+2.41.0 |
| ... | ... |
@@ -23,7 +23,7 @@ |
| 23 | 23 |
Summary: Kernel |
| 24 | 24 |
Name: linux-esx |
| 25 | 25 |
Version: 6.1.56 |
| 26 |
-Release: 3%{?kat_build:.kat}%{?dist}
|
|
| 26 |
+Release: 4%{?kat_build:.kat}%{?dist}
|
|
| 27 | 27 |
License: GPLv2 |
| 28 | 28 |
URL: http://www.kernel.org |
| 29 | 29 |
Group: System Environment/Kernel |
| ... | ... |
@@ -59,9 +59,9 @@ Source8: https://sourceforge.net/projects/e1000/files/ice%20stable/%{ice_v
|
| 59 | 59 |
%if 0%{?fips}
|
| 60 | 60 |
Source9: check_fips_canister_struct_compatibility.inc |
| 61 | 61 |
|
| 62 |
-%define fips_canister_version 5.0.0-6.1.53-4%{?dist}-secure
|
|
| 62 |
+%define fips_canister_version 5.0.0-6.1.56-3%{?dist}-secure
|
|
| 63 | 63 |
Source16: fips-canister-%{fips_canister_version}.tar.bz2
|
| 64 |
-%define sha512 fips-canister=2192a68b4e6e2ea86966837771f604bd3b75689778e5322f50a3871835608e25e7106aa8503d3e3ac94c9d84d3017c71ac995df626dd2c6ecc41d9167401f1a6 |
|
| 64 |
+%define sha512 fips-canister=f4dd9b59482703d0844ad938407af496abe0a5e946c6a63fc130c0f392be95eeee3d6b1125b346699b92b513c140514b28e6ffe868cf9d0f608c56c01f8afcd8 |
|
| 65 | 65 |
|
| 66 | 66 |
Source18: speedup-algos-registration-in-non-fips-mode.patch |
| 67 | 67 |
%endif |
| ... | ... |
@@ -199,7 +199,7 @@ Patch505: 0001-changes-to-build-with-jitterentropy-v3.4.1.patch |
| 199 | 199 |
|
| 200 | 200 |
%if 0%{?fips}
|
| 201 | 201 |
# FIPS canister usage patch |
| 202 |
-Patch508: 6.1.53-4-0001-FIPS-canister-binary-usage.patch |
|
| 202 |
+Patch508: 6.1.56-3-0001-FIPS-canister-binary-usage.patch |
|
| 203 | 203 |
Patch509: 0001-scripts-kallsyms-Extra-kallsyms-parsing.patch |
| 204 | 204 |
Patch510: FIPS-do-not-allow-not-certified-algos-in-fips-2.patch |
| 205 | 205 |
%else |
| ... | ... |
@@ -529,6 +529,8 @@ ln -sf linux-%{uname_r}.cfg /boot/photon.cfg
|
| 529 | 529 |
%{_usrsrc}/linux-headers-%{uname_r}
|
| 530 | 530 |
|
| 531 | 531 |
%changelog |
| 532 |
+* Wed Nov 29 2023 Vamsi Krishna Brahmajosyula <vbrahmajosyula@vmware.com> 6.1.56-4 |
|
| 533 |
+- Upgrade canister to 5.0.0-6.1.56-3 |
|
| 532 | 534 |
* Wed Nov 29 2023 Srish Srinivasan <ssrish@vmware.com> 6.1.56-3 |
| 533 | 535 |
- Add missing self-test vector for ecdh-nist-p384 with genkey |
| 534 | 536 |
* Wed Nov 29 2023 Srinidhi Rao <srinidhir@vmware.com> 6.1.56-2 |
| ... | ... |
@@ -16,7 +16,7 @@ |
| 16 | 16 |
Summary: Kernel |
| 17 | 17 |
Name: linux-rt |
| 18 | 18 |
Version: 6.1.56 |
| 19 |
-Release: 3%{?kat_build:.kat}%{?dist}
|
|
| 19 |
+Release: 4%{?kat_build:.kat}%{?dist}
|
|
| 20 | 20 |
License: GPLv2 |
| 21 | 21 |
URL: http://www.kernel.org |
| 22 | 22 |
Group: System Environment/Kernel |
| ... | ... |
@@ -57,9 +57,9 @@ Source8: https://sourceforge.net/projects/e1000/files/ice%20stable/%{ice_v
|
| 57 | 57 |
%if 0%{?fips}
|
| 58 | 58 |
Source9: check_fips_canister_struct_compatibility.inc |
| 59 | 59 |
|
| 60 |
-%define fips_canister_version 5.0.0-6.1.53-4%{?dist}-secure
|
|
| 60 |
+%define fips_canister_version 5.0.0-6.1.56-3%{?dist}-secure
|
|
| 61 | 61 |
Source16: fips-canister-%{fips_canister_version}.tar.bz2
|
| 62 |
-%define sha512 fips-canister=2192a68b4e6e2ea86966837771f604bd3b75689778e5322f50a3871835608e25e7106aa8503d3e3ac94c9d84d3017c71ac995df626dd2c6ecc41d9167401f1a6 |
|
| 62 |
+%define sha512 fips-canister=f4dd9b59482703d0844ad938407af496abe0a5e946c6a63fc130c0f392be95eeee3d6b1125b346699b92b513c140514b28e6ffe868cf9d0f608c56c01f8afcd8 |
|
| 63 | 63 |
%endif |
| 64 | 64 |
|
| 65 | 65 |
Source19: spec_install_post.inc |
| ... | ... |
@@ -235,7 +235,7 @@ Patch1005: 0001-changes-to-build-with-jitterentropy-v3.4.1.patch |
| 235 | 235 |
|
| 236 | 236 |
%if 0%{?fips}
|
| 237 | 237 |
# FIPS canister usage patch |
| 238 |
-Patch1008: 6.1.53-4-0001-FIPS-canister-binary-usage.patch |
|
| 238 |
+Patch1008: 6.1.56-3-0001-FIPS-canister-binary-usage.patch |
|
| 239 | 239 |
Patch1009: 0001-scripts-kallsyms-Extra-kallsyms-parsing.patch |
| 240 | 240 |
Patch1010: FIPS-do-not-allow-not-certified-algos-in-fips-2.patch |
| 241 | 241 |
%endif |
| ... | ... |
@@ -560,6 +560,8 @@ ln -sf linux-%{uname_r}.cfg /boot/photon.cfg
|
| 560 | 560 |
%{_usrsrc}/linux-headers-%{uname_r}
|
| 561 | 561 |
|
| 562 | 562 |
%changelog |
| 563 |
+* Wed Nov 29 2023 Vamsi Krishna Brahmajosyula <vbrahmajosyula@vmware.com> 6.1.56-4 |
|
| 564 |
+- Upgrade canister to 5.0.0-6.1.56-3 |
|
| 563 | 565 |
* Wed Nov 29 2023 Srish Srinivasan <ssrish@vmware.com> 6.1.56-3 |
| 564 | 566 |
- Add missing self-test vector for ecdh-nist-p384 with genkey |
| 565 | 567 |
* Wed Nov 29 2023 Srinidhi Rao <srinidhir@vmware.com> 6.1.56-2 |
| ... | ... |
@@ -16,7 +16,7 @@ |
| 16 | 16 |
Summary: Kernel |
| 17 | 17 |
Name: linux-secure |
| 18 | 18 |
Version: 6.1.56 |
| 19 |
-Release: 3%{?kat_build:.kat}%{?dist}
|
|
| 19 |
+Release: 4%{?kat_build:.kat}%{?dist}
|
|
| 20 | 20 |
License: GPLv2 |
| 21 | 21 |
URL: http://www.kernel.org |
| 22 | 22 |
Group: System Environment/Kernel |
| ... | ... |
@@ -37,9 +37,9 @@ Source4: check_for_config_applicability.inc |
| 37 | 37 |
%if 0%{?fips}
|
| 38 | 38 |
Source9: check_fips_canister_struct_compatibility.inc |
| 39 | 39 |
|
| 40 |
-%define fips_canister_version 5.0.0-6.1.53-4%{dist}-secure
|
|
| 40 |
+%define fips_canister_version 5.0.0-6.1.56-3%{dist}-secure
|
|
| 41 | 41 |
Source16: fips-canister-%{fips_canister_version}.tar.bz2
|
| 42 |
-%define sha512 fips-canister=2192a68b4e6e2ea86966837771f604bd3b75689778e5322f50a3871835608e25e7106aa8503d3e3ac94c9d84d3017c71ac995df626dd2c6ecc41d9167401f1a6 |
|
| 42 |
+%define sha512 fips-canister=f4dd9b59482703d0844ad938407af496abe0a5e946c6a63fc130c0f392be95eeee3d6b1125b346699b92b513c140514b28e6ffe868cf9d0f608c56c01f8afcd8 |
|
| 43 | 43 |
%endif |
| 44 | 44 |
|
| 45 | 45 |
%if 0%{?canister_build}
|
| ... | ... |
@@ -143,7 +143,7 @@ Patch505: 0001-changes-to-build-with-jitterentropy-v3.4.1.patch |
| 143 | 143 |
|
| 144 | 144 |
%if 0%{?fips}
|
| 145 | 145 |
# FIPS canister usage patch |
| 146 |
-Patch508: 6.1.53-4-0001-FIPS-canister-binary-usage.patch |
|
| 146 |
+Patch508: 6.1.56-3-0001-FIPS-canister-binary-usage.patch |
|
| 147 | 147 |
Patch509: 0001-scripts-kallsyms-Extra-kallsyms-parsing.patch |
| 148 | 148 |
Patch510: FIPS-do-not-allow-not-certified-algos-in-fips-2.patch |
| 149 | 149 |
%endif |
| ... | ... |
@@ -156,7 +156,7 @@ Patch512: 0003-FIPS-broken-kattest.patch |
| 156 | 156 |
# Below patches are common for fips and canister_build flags |
| 157 | 157 |
# 0001-FIPS-canister-binary-usage.patch is renamed as <ver-rel>-0001-FIPS-canister-binary-usage.patch |
| 158 | 158 |
# in both places until final canister binary is released |
| 159 |
-Patch10000: 6.1.53-4-0001-FIPS-canister-binary-usage.patch |
|
| 159 |
+Patch10000: 6.1.56-3-0001-FIPS-canister-binary-usage.patch |
|
| 160 | 160 |
Patch10001: 0001-scripts-kallsyms-Extra-kallsyms-parsing.patch |
| 161 | 161 |
# Below patches are specific to canister_build flag |
| 162 | 162 |
Patch10003: 0002-FIPS-canister-creation.patch |
| ... | ... |
@@ -459,6 +459,8 @@ ln -sf linux-%{uname_r}.cfg /boot/photon.cfg
|
| 459 | 459 |
%endif |
| 460 | 460 |
|
| 461 | 461 |
%changelog |
| 462 |
+* Wed Nov 29 2023 Vamsi Krishna Brahmajosyula <vbrahmajosyula@vmware.com> 6.1.56-4 |
|
| 463 |
+- Upgrade canister to 5.0.0-6.1.56-3 |
|
| 462 | 464 |
* Wed Nov 29 2023 Srish Srinivasan <ssrish@vmware.com> 6.1.56-3 |
| 463 | 465 |
- Add missing self-test vector for ecdh-nist-p384 with genkey |
| 464 | 466 |
* Wed Nov 29 2023 Srinidhi Rao <srinidhir@vmware.com> 6.1.56-2 |
| ... | ... |
@@ -27,7 +27,7 @@ |
| 27 | 27 |
Summary: Kernel |
| 28 | 28 |
Name: linux |
| 29 | 29 |
Version: 6.1.56 |
| 30 |
-Release: 4%{?acvp_build:.acvp}%{?kat_build:.kat}%{?dist}
|
|
| 30 |
+Release: 5%{?acvp_build:.acvp}%{?kat_build:.kat}%{?dist}
|
|
| 31 | 31 |
License: GPLv2 |
| 32 | 32 |
URL: http://www.kernel.org/ |
| 33 | 33 |
Group: System Environment/Kernel |
| ... | ... |
@@ -72,9 +72,9 @@ Source13: https://sourceforge.net/projects/e1000/files/ice%20stable/%{ice_
|
| 72 | 72 |
%if 0%{?fips}
|
| 73 | 73 |
Source9: check_fips_canister_struct_compatibility.inc |
| 74 | 74 |
|
| 75 |
-%define fips_canister_version 5.0.0-6.1.53-4%{?dist}-secure
|
|
| 75 |
+%define fips_canister_version 5.0.0-6.1.56-3%{?dist}-secure
|
|
| 76 | 76 |
Source16: fips-canister-%{fips_canister_version}.tar.bz2
|
| 77 |
-%define sha512 fips-canister=2192a68b4e6e2ea86966837771f604bd3b75689778e5322f50a3871835608e25e7106aa8503d3e3ac94c9d84d3017c71ac995df626dd2c6ecc41d9167401f1a6 |
|
| 77 |
+%define sha512 fips-canister=f4dd9b59482703d0844ad938407af496abe0a5e946c6a63fc130c0f392be95eeee3d6b1125b346699b92b513c140514b28e6ffe868cf9d0f608c56c01f8afcd8 |
|
| 78 | 78 |
%endif |
| 79 | 79 |
|
| 80 | 80 |
Source18: spec_install_post.inc |
| ... | ... |
@@ -212,7 +212,7 @@ Patch505: 0001-changes-to-build-with-jitterentropy-v3.4.1.patch |
| 212 | 212 |
|
| 213 | 213 |
%if 0%{?fips}
|
| 214 | 214 |
# FIPS canister usage patch |
| 215 |
-Patch508: 6.1.53-4-0001-FIPS-canister-binary-usage.patch |
|
| 215 |
+Patch508: 6.1.56-3-0001-FIPS-canister-binary-usage.patch |
|
| 216 | 216 |
Patch509: 0001-scripts-kallsyms-Extra-kallsyms-parsing.patch |
| 217 | 217 |
Patch510: FIPS-do-not-allow-not-certified-algos-in-fips-2.patch |
| 218 | 218 |
%else |
| ... | ... |
@@ -793,6 +793,8 @@ ln -sf linux-%{uname_r}.cfg /boot/photon.cfg
|
| 793 | 793 |
%{_datadir}/bash-completion/completions/bpftool
|
| 794 | 794 |
|
| 795 | 795 |
%changelog |
| 796 |
+* Wed Nov 29 2023 Vamsi Krishna Brahmajosyula <vbrahmajosyula@vmware.com> 6.1.56-5 |
|
| 797 |
+- Upgrade canister to 5.0.0-6.1.56-3 |
|
| 796 | 798 |
* Wed Nov 29 2023 Srish Srinivasan <ssrish@vmware.com> 6.1.56-4 |
| 797 | 799 |
- Adding support for ACVP build |
| 798 | 800 |
- Added jitterentropy implementation of SHA3-256 |