diff --git a/include/crypto/aead.h b/include/crypto/aead.h index 35e45b854a6fa4940f099eadde9228c1b3a1105d..528fe6fb50133ccd06d90e77c0eb1615501c746e 100644 --- a/include/crypto/aead.h +++ b/include/crypto/aead.h @@ -13,6 +13,7 @@ #include #include #include +#include /** * DOC: Authenticated Encryption With Associated Data (AEAD) Cipher API @@ -97,6 +98,7 @@ struct aead_request { struct scatterlist *src; struct scatterlist *dst; + KABI_RESERVE(0); void *__ctx[] CRYPTO_MINALIGN_ATTR; }; @@ -171,6 +173,7 @@ struct aead_alg { unsigned int chunksize; struct crypto_alg base; + KABI_RESERVE(0); }; struct crypto_aead { diff --git a/include/crypto/akcipher.h b/include/crypto/akcipher.h index 670508f1dca19ce59d57e0880f6caa74b2fe6276..9a8d21ee75468ba920cefbcd4904f27e5713f3c9 100644 --- a/include/crypto/akcipher.h +++ b/include/crypto/akcipher.h @@ -10,6 +10,7 @@ #include #include +#include /** * struct akcipher_request - public key request @@ -38,6 +39,7 @@ struct akcipher_request { struct scatterlist *dst; unsigned int src_len; unsigned int dst_len; + KABI_RESERVE(0); void *__ctx[] CRYPTO_MINALIGN_ATTR; }; @@ -52,6 +54,7 @@ struct crypto_akcipher { unsigned int reqsize; struct crypto_tfm base; + KABI_RESERVE(0); }; /* @@ -132,6 +135,7 @@ struct akcipher_alg { #endif struct crypto_alg base; + KABI_RESERVE(0); }; /** diff --git a/include/crypto/algapi.h b/include/crypto/algapi.h index ca86f4c6ba4394184459d918718814b5cc889154..ccc6f36419bb680a6bd7111ebb0861af48b9a46f 100644 --- a/include/crypto/algapi.h +++ b/include/crypto/algapi.h @@ -13,6 +13,7 @@ #include #include #include +#include /* * Maximum values for blocksize and alignmask, used to allocate @@ -69,6 +70,7 @@ struct crypto_type { unsigned int maskclear; unsigned int maskset; unsigned int tfmsize; + KABI_RESERVE(0); }; struct crypto_instance { @@ -84,6 +86,7 @@ struct crypto_instance { }; struct work_struct free_work; + KABI_RESERVE(0); void *__ctx[] CRYPTO_MINALIGN_ATTR; }; @@ -111,6 +114,7 @@ struct crypto_spawn { u32 mask; bool dead; bool registered; + KABI_RESERVE(0); }; struct crypto_queue { diff --git a/include/crypto/hash.h b/include/crypto/hash.h index f7c2a22cd776daa3eb42c6310ddd8bd69ee175be..91c176b42a9b4944bf6229cd10f03bf2144e1c89 100644 --- a/include/crypto/hash.h +++ b/include/crypto/hash.h @@ -11,6 +11,7 @@ #include #include #include +#include struct crypto_ahash; @@ -78,6 +79,7 @@ struct ahash_request { /* This field may only be used by the ahash API code. */ void *priv; + KABI_RESERVE(0); void *__ctx[] CRYPTO_MINALIGN_ATTR; }; diff --git a/include/crypto/if_alg.h b/include/crypto/if_alg.h index ef8ce86b1f7887f37ddf6d2d5bc1560aad44097c..8b082e95363390668c4cdf76ff7173615c014b97 100644 --- a/include/crypto/if_alg.h +++ b/include/crypto/if_alg.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -32,6 +33,7 @@ struct alg_sock { const struct af_alg_type *type; void *private; + KABI_RESERVE(0); }; struct af_alg_control { @@ -154,6 +156,7 @@ struct af_alg_ctx { bool init; unsigned int len; + KABI_RESERVE(0); }; int af_alg_register_type(const struct af_alg_type *type); diff --git a/include/crypto/public_key.h b/include/crypto/public_key.h index 462f8a34cdf872b17111abf68b4eeb9a8577b6b2..c0bd4df9dc1369785d976966870ebff50a68a902 100644 --- a/include/crypto/public_key.h +++ b/include/crypto/public_key.h @@ -12,6 +12,7 @@ #include #include +#include /* * Cryptographic data for the public-key subtype of the asymmetric key type. @@ -29,6 +30,7 @@ struct public_key { const char *id_type; const char *pkey_algo; unsigned long key_eflags; /* key extension flags */ + KABI_RESERVE(0); #define KEY_EFLAG_CA 0 /* set if the CA basic constraints is set */ #define KEY_EFLAG_DIGITALSIG 1 /* set if the digitalSignature usage is set */ #define KEY_EFLAG_KEYCERTSIGN 2 /* set if the keyCertSign usage is set */ @@ -48,6 +50,7 @@ struct public_key_signature { const char *pkey_algo; const char *hash_algo; const char *encoding; + KABI_RESERVE(0); }; extern void public_key_signature_free(struct public_key_signature *sig); diff --git a/include/crypto/rng.h b/include/crypto/rng.h index 6abe5102e5fb1004a928c554db692ff7d93b92a9..28fb91c5e278f59c3c19feb08a3c633a3564a3d1 100644 --- a/include/crypto/rng.h +++ b/include/crypto/rng.h @@ -12,6 +12,7 @@ #include #include #include +#include struct crypto_rng; @@ -70,6 +71,7 @@ struct rng_alg { unsigned int seedsize; struct crypto_alg base; + KABI_RESERVE(0); }; struct crypto_rng { diff --git a/include/crypto/skcipher.h b/include/crypto/skcipher.h index 080d1ba3611d8d924f82178c2fc4cad4d54b425a..a8e5793e6f0b661e665a92c2b1b45d1e52bc1cff 100644 --- a/include/crypto/skcipher.h +++ b/include/crypto/skcipher.h @@ -14,6 +14,7 @@ #include #include #include +#include struct scatterlist; @@ -35,6 +36,7 @@ struct skcipher_request { struct scatterlist *dst; struct crypto_async_request base; + KABI_RESERVE(0); void *__ctx[] CRYPTO_MINALIGN_ATTR; }; @@ -142,6 +144,7 @@ struct skcipher_alg { #endif struct crypto_alg base; + KABI_RESERVE(0); }; #define MAX_SYNC_SKCIPHER_REQSIZE 384 diff --git a/include/linux/crypto.h b/include/linux/crypto.h index 31f6fee0c36c6448c00358679301db7538bf307a..7db4ab4ee7032e22505b3bbbf3c3a9b99e4c10b3 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h @@ -16,6 +16,7 @@ #include #include #include +#include /* * Algorithm masks and types. @@ -429,6 +430,7 @@ struct crypto_tfm { void (*exit)(struct crypto_tfm *tfm); struct crypto_alg *__crt_alg; + KABI_RESERVE(0); void *__crt_ctx[] CRYPTO_MINALIGN_ATTR; }; diff --git a/include/linux/kernel_read_file.h b/include/linux/kernel_read_file.h index 90451e2e12bd19eeb436ad59ad83d7ab1168e26b..19d56c180f7ef21aa062e34a372d00bfc157c362 100644 --- a/include/linux/kernel_read_file.h +++ b/include/linux/kernel_read_file.h @@ -14,6 +14,9 @@ id(KEXEC_INITRAMFS, kexec-initramfs) \ id(POLICY, security-policy) \ id(X509_CERTIFICATE, x509-certificate) \ + id(KABI_RESERVE0, KABI_RESERVE0) \ + id(KABI_RESERVE1, KABI_RESERVE1) \ + id(KABI_RESERVE2, KABI_RESERVE2) \ id(MAX_ID, ) #define __fid_enumify(ENUM, dummy) READING_ ## ENUM, diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 32c78078552ccc19edd82abae84e73c104633c3c..0376a9e758a74e657224c2074a1ae1f49787dab2 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -21,6 +21,7 @@ #include #include +#include /* Location of a reserved region to hold the crash kernel. */ @@ -368,6 +369,10 @@ struct kimage { void *elf_headers; unsigned long elf_headers_sz; unsigned long elf_load_addr; + + KABI_RESERVE(0); + KABI_RESERVE(1); + KABI_RESERVE(2); }; /* kexec interface functions */