.. | .. |
---|
4 | 4 | # |
---|
5 | 5 | |
---|
6 | 6 | obj-$(CONFIG_CRYPTO) += crypto.o |
---|
7 | | -crypto-y := api.o cipher.o compress.o memneq.o |
---|
8 | | - |
---|
9 | | -obj-$(CONFIG_CRYPTO_WORKQUEUE) += crypto_wq.o |
---|
| 7 | +crypto-y := api.o cipher.o compress.o |
---|
10 | 8 | |
---|
11 | 9 | obj-$(CONFIG_CRYPTO_ENGINE) += crypto_engine.o |
---|
12 | 10 | obj-$(CONFIG_CRYPTO_FIPS) += fips.o |
---|
.. | .. |
---|
16 | 14 | obj-$(CONFIG_CRYPTO_ALGAPI2) += crypto_algapi.o |
---|
17 | 15 | |
---|
18 | 16 | obj-$(CONFIG_CRYPTO_AEAD2) += aead.o |
---|
| 17 | +obj-$(CONFIG_CRYPTO_AEAD2) += geniv.o |
---|
19 | 18 | |
---|
20 | | -crypto_blkcipher-y := ablkcipher.o |
---|
21 | | -crypto_blkcipher-y += blkcipher.o |
---|
22 | | -crypto_blkcipher-y += skcipher.o |
---|
23 | | -obj-$(CONFIG_CRYPTO_BLKCIPHER2) += crypto_blkcipher.o |
---|
| 19 | +obj-$(CONFIG_CRYPTO_SKCIPHER2) += skcipher.o |
---|
24 | 20 | obj-$(CONFIG_CRYPTO_SEQIV) += seqiv.o |
---|
25 | 21 | obj-$(CONFIG_CRYPTO_ECHAINIV) += echainiv.o |
---|
26 | 22 | |
---|
.. | .. |
---|
46 | 42 | rsa_generic-y += rsa-pkcs1pad.o |
---|
47 | 43 | obj-$(CONFIG_CRYPTO_RSA) += rsa_generic.o |
---|
48 | 44 | |
---|
| 45 | +$(obj)/sm2signature.asn1.o: $(obj)/sm2signature.asn1.c $(obj)/sm2signature.asn1.h |
---|
| 46 | +$(obj)/sm2.o: $(obj)/sm2signature.asn1.h |
---|
| 47 | + |
---|
| 48 | +sm2_generic-y += sm2signature.asn1.o |
---|
| 49 | +sm2_generic-y += sm2.o |
---|
| 50 | + |
---|
| 51 | +obj-$(CONFIG_CRYPTO_SM2) += sm2_generic.o |
---|
| 52 | + |
---|
49 | 53 | crypto_acompress-y := acompress.o |
---|
50 | 54 | crypto_acompress-y += scompress.o |
---|
51 | 55 | obj-$(CONFIG_CRYPTO_ACOMP2) += crypto_acompress.o |
---|
.. | .. |
---|
54 | 58 | |
---|
55 | 59 | obj-$(CONFIG_CRYPTO_MANAGER2) += cryptomgr.o |
---|
56 | 60 | obj-$(CONFIG_CRYPTO_USER) += crypto_user.o |
---|
| 61 | +crypto_user-y := crypto_user_base.o |
---|
| 62 | +crypto_user-$(CONFIG_CRYPTO_STATS) += crypto_user_stat.o |
---|
57 | 63 | obj-$(CONFIG_CRYPTO_CMAC) += cmac.o |
---|
58 | 64 | obj-$(CONFIG_CRYPTO_HMAC) += hmac.o |
---|
59 | 65 | obj-$(CONFIG_CRYPTO_VMAC) += vmac.o |
---|
.. | .. |
---|
70 | 76 | obj-$(CONFIG_CRYPTO_SHA512) += sha512_generic.o |
---|
71 | 77 | obj-$(CONFIG_CRYPTO_SHA3) += sha3_generic.o |
---|
72 | 78 | obj-$(CONFIG_CRYPTO_SM3) += sm3_generic.o |
---|
| 79 | +obj-$(CONFIG_CRYPTO_STREEBOG) += streebog_generic.o |
---|
73 | 80 | obj-$(CONFIG_CRYPTO_WP512) += wp512.o |
---|
74 | 81 | CFLAGS_wp512.o := $(call cc-option,-fno-schedule-insns) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149 |
---|
75 | 82 | obj-$(CONFIG_CRYPTO_TGR192) += tgr192.o |
---|
76 | | -obj-$(CONFIG_CRYPTO_BLAKE2S) += blake2s_generic.o |
---|
77 | 83 | obj-$(CONFIG_CRYPTO_BLAKE2B) += blake2b_generic.o |
---|
| 84 | +obj-$(CONFIG_CRYPTO_BLAKE2S) += blake2s_generic.o |
---|
78 | 85 | obj-$(CONFIG_CRYPTO_GF128MUL) += gf128mul.o |
---|
79 | 86 | obj-$(CONFIG_CRYPTO_ECB) += ecb.o |
---|
80 | 87 | obj-$(CONFIG_CRYPTO_CBC) += cbc.o |
---|
.. | .. |
---|
91 | 98 | obj-$(CONFIG_CRYPTO_CCM) += ccm.o |
---|
92 | 99 | obj-$(CONFIG_CRYPTO_CHACHA20POLY1305) += chacha20poly1305.o |
---|
93 | 100 | obj-$(CONFIG_CRYPTO_AEGIS128) += aegis128.o |
---|
94 | | -obj-$(CONFIG_CRYPTO_AEGIS128L) += aegis128l.o |
---|
95 | | -obj-$(CONFIG_CRYPTO_AEGIS256) += aegis256.o |
---|
96 | | -obj-$(CONFIG_CRYPTO_MORUS640) += morus640.o |
---|
97 | | -obj-$(CONFIG_CRYPTO_MORUS1280) += morus1280.o |
---|
| 101 | +aegis128-y := aegis128-core.o |
---|
| 102 | + |
---|
| 103 | +ifeq ($(ARCH),arm) |
---|
| 104 | +CFLAGS_aegis128-neon-inner.o += -ffreestanding -march=armv8-a -mfloat-abi=softfp |
---|
| 105 | +CFLAGS_aegis128-neon-inner.o += -mfpu=crypto-neon-fp-armv8 |
---|
| 106 | +aegis128-$(CONFIG_CRYPTO_AEGIS128_SIMD) += aegis128-neon.o aegis128-neon-inner.o |
---|
| 107 | +endif |
---|
| 108 | +ifeq ($(ARCH),arm64) |
---|
| 109 | +aegis128-cflags-y := -ffreestanding -mcpu=generic+crypto |
---|
| 110 | +aegis128-cflags-$(CONFIG_CC_IS_GCC) += -ffixed-q16 -ffixed-q17 -ffixed-q18 \ |
---|
| 111 | + -ffixed-q19 -ffixed-q20 -ffixed-q21 \ |
---|
| 112 | + -ffixed-q22 -ffixed-q23 -ffixed-q24 \ |
---|
| 113 | + -ffixed-q25 -ffixed-q26 -ffixed-q27 \ |
---|
| 114 | + -ffixed-q28 -ffixed-q29 -ffixed-q30 \ |
---|
| 115 | + -ffixed-q31 |
---|
| 116 | +CFLAGS_aegis128-neon-inner.o += $(aegis128-cflags-y) |
---|
| 117 | +CFLAGS_REMOVE_aegis128-neon-inner.o += -mgeneral-regs-only |
---|
| 118 | +aegis128-$(CONFIG_CRYPTO_AEGIS128_SIMD) += aegis128-neon.o aegis128-neon-inner.o |
---|
| 119 | +endif |
---|
| 120 | + |
---|
98 | 121 | obj-$(CONFIG_CRYPTO_PCRYPT) += pcrypt.o |
---|
99 | 122 | obj-$(CONFIG_CRYPTO_CRYPTD) += cryptd.o |
---|
100 | | -obj-$(CONFIG_CRYPTO_MCRYPTD) += mcryptd.o |
---|
101 | 123 | obj-$(CONFIG_CRYPTO_DES) += des_generic.o |
---|
102 | 124 | obj-$(CONFIG_CRYPTO_FCRYPT) += fcrypt.o |
---|
103 | 125 | obj-$(CONFIG_CRYPTO_BLOWFISH) += blowfish_generic.o |
---|
.. | .. |
---|
128 | 150 | obj-$(CONFIG_CRYPTO_CRC32) += crc32_generic.o |
---|
129 | 151 | obj-$(CONFIG_CRYPTO_CRCT10DIF) += crct10dif_common.o crct10dif_generic.o |
---|
130 | 152 | obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o authencesn.o |
---|
131 | | -obj-$(CONFIG_CRYPTO_LZO) += lzo.o |
---|
| 153 | +obj-$(CONFIG_CRYPTO_LZO) += lzo.o lzo-rle.o |
---|
132 | 154 | obj-$(CONFIG_CRYPTO_LZ4) += lz4.o |
---|
133 | 155 | obj-$(CONFIG_CRYPTO_LZ4HC) += lz4hc.o |
---|
| 156 | +obj-$(CONFIG_CRYPTO_XXHASH) += xxhash_generic.o |
---|
134 | 157 | obj-$(CONFIG_CRYPTO_842) += 842.o |
---|
135 | 158 | obj-$(CONFIG_CRYPTO_RNG2) += rng.o |
---|
136 | 159 | obj-$(CONFIG_CRYPTO_ANSI_CPRNG) += ansi_cprng.o |
---|
137 | 160 | obj-$(CONFIG_CRYPTO_DRBG) += drbg.o |
---|
138 | 161 | obj-$(CONFIG_CRYPTO_JITTERENTROPY) += jitterentropy_rng.o |
---|
139 | 162 | CFLAGS_jitterentropy.o = -O0 |
---|
| 163 | +KASAN_SANITIZE_jitterentropy.o = n |
---|
| 164 | +UBSAN_SANITIZE_jitterentropy.o = n |
---|
140 | 165 | jitterentropy_rng-y := jitterentropy.o jitterentropy-kcapi.o |
---|
141 | 166 | obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o |
---|
142 | 167 | obj-$(CONFIG_CRYPTO_GHASH) += ghash-generic.o |
---|
.. | .. |
---|
147 | 172 | obj-$(CONFIG_CRYPTO_USER_API_AEAD) += algif_aead.o |
---|
148 | 173 | obj-$(CONFIG_CRYPTO_ZSTD) += zstd.o |
---|
149 | 174 | obj-$(CONFIG_CRYPTO_OFB) += ofb.o |
---|
| 175 | +obj-$(CONFIG_CRYPTO_ECC) += ecc.o |
---|
| 176 | +obj-$(CONFIG_CRYPTO_ESSIV) += essiv.o |
---|
| 177 | +obj-$(CONFIG_CRYPTO_CURVE25519) += curve25519-generic.o |
---|
150 | 178 | |
---|
151 | | -ecdh_generic-y := ecc.o |
---|
152 | 179 | ecdh_generic-y += ecdh.o |
---|
153 | 180 | ecdh_generic-y += ecdh_helper.o |
---|
154 | 181 | obj-$(CONFIG_CRYPTO_ECDH) += ecdh_generic.o |
---|
155 | | -obj-$(CONFIG_CRYPTO_CURVE25519) += curve25519-generic.o |
---|
| 182 | + |
---|
| 183 | +$(obj)/ecrdsa_params.asn1.o: $(obj)/ecrdsa_params.asn1.c $(obj)/ecrdsa_params.asn1.h |
---|
| 184 | +$(obj)/ecrdsa_pub_key.asn1.o: $(obj)/ecrdsa_pub_key.asn1.c $(obj)/ecrdsa_pub_key.asn1.h |
---|
| 185 | +$(obj)/ecrdsa.o: $(obj)/ecrdsa_params.asn1.h $(obj)/ecrdsa_pub_key.asn1.h |
---|
| 186 | +ecrdsa_generic-y += ecrdsa.o |
---|
| 187 | +ecrdsa_generic-y += ecrdsa_params.asn1.o |
---|
| 188 | +ecrdsa_generic-y += ecrdsa_pub_key.asn1.o |
---|
| 189 | +obj-$(CONFIG_CRYPTO_ECRDSA) += ecrdsa_generic.o |
---|
156 | 190 | |
---|
157 | 191 | # |
---|
158 | 192 | # generic algorithms and the async_tx api |
---|
.. | .. |
---|
163 | 197 | obj-$(CONFIG_CRYPTO_HASH_INFO) += hash_info.o |
---|
164 | 198 | crypto_simd-y := simd.o |
---|
165 | 199 | obj-$(CONFIG_CRYPTO_SIMD) += crypto_simd.o |
---|
| 200 | + |
---|
| 201 | +ifneq ($(CONFIG_CRYPTO_FIPS140_MOD),) |
---|
| 202 | + |
---|
| 203 | +FIPS140_CFLAGS := -D__DISABLE_EXPORTS -DBUILD_FIPS140_KO -include fips140-defs.h |
---|
| 204 | + |
---|
| 205 | +CFLAGS_jitterentropy-fips.o := -O0 |
---|
| 206 | +KASAN_SANITIZE_jitterentropy-fips.o = n |
---|
| 207 | +UBSAN_SANITIZE_jitterentropy-fips.o = n |
---|
| 208 | + |
---|
| 209 | +# |
---|
| 210 | +# Create a separate FIPS archive containing a duplicate of each builtin generic |
---|
| 211 | +# module that is in scope for FIPS 140-2 certification |
---|
| 212 | +# |
---|
| 213 | +crypto-fips-objs := drbg.o ecb.o cbc.o ctr.o cts.o gcm.o xts.o hmac.o cmac.o \ |
---|
| 214 | + gf128mul.o aes_generic.o lib-crypto-aes.o \ |
---|
| 215 | + jitterentropy.o jitterentropy-kcapi.o \ |
---|
| 216 | + sha1_generic.o sha256_generic.o sha512_generic.o \ |
---|
| 217 | + lib-memneq.o lib-sha1.o lib-crypto-sha256.o |
---|
| 218 | +crypto-fips-objs := $(foreach o,$(crypto-fips-objs),$(o:.o=-fips.o)) |
---|
| 219 | + |
---|
| 220 | +# get the arch to add its objects to $(crypto-fips-objs) |
---|
| 221 | +include $(srctree)/arch/$(ARCH)/crypto/Kbuild.fips140 |
---|
| 222 | + |
---|
| 223 | +extra-$(CONFIG_CRYPTO_FIPS140_MOD) += crypto-fips.a |
---|
| 224 | + |
---|
| 225 | +$(obj)/%-fips.o: KBUILD_CFLAGS += $(FIPS140_CFLAGS) |
---|
| 226 | +$(obj)/%-fips.o: $(src)/%.c FORCE |
---|
| 227 | + $(call if_changed_rule,cc_o_c) |
---|
| 228 | +$(obj)/lib-%-fips.o: $(srctree)/lib/%.c FORCE |
---|
| 229 | + $(call if_changed_rule,cc_o_c) |
---|
| 230 | +$(obj)/lib-crypto-%-fips.o: $(srctree)/lib/crypto/%.c FORCE |
---|
| 231 | + $(call if_changed_rule,cc_o_c) |
---|
| 232 | + |
---|
| 233 | +$(obj)/crypto-fips.a: $(addprefix $(obj)/,$(crypto-fips-objs)) FORCE |
---|
| 234 | + $(call if_changed,ar_and_symver) |
---|
| 235 | + |
---|
| 236 | +fips140-objs := \ |
---|
| 237 | + fips140-alg-registration.o \ |
---|
| 238 | + fips140-module.o \ |
---|
| 239 | + fips140-refs.o \ |
---|
| 240 | + fips140-selftests.o \ |
---|
| 241 | + crypto-fips.a |
---|
| 242 | +fips140-$(CONFIG_CRYPTO_FIPS140_MOD_EVAL_TESTING) += \ |
---|
| 243 | + fips140-eval-testing.o |
---|
| 244 | +obj-m += fips140.o |
---|
| 245 | + |
---|
| 246 | +CFLAGS_fips140-alg-registration.o += $(FIPS140_CFLAGS) |
---|
| 247 | +CFLAGS_fips140-module.o += $(FIPS140_CFLAGS) |
---|
| 248 | +CFLAGS_fips140-selftests.o += $(FIPS140_CFLAGS) |
---|
| 249 | +CFLAGS_fips140-eval-testing.o += $(FIPS140_CFLAGS) |
---|
| 250 | + |
---|
| 251 | +hostprogs-always-y := fips140_gen_hmac |
---|
| 252 | +HOSTLDLIBS_fips140_gen_hmac := -lcrypto -lelf |
---|
| 253 | + |
---|
| 254 | +endif |
---|