From: Eric Snowberg eric.snowberg@oracle.com
mainline inclusion from mainline-v6.4-rc1 commit 7f8da9915fcc6386edf86471bf31e162845930a4 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I9SY02
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=...
--------------------------------
The kernel test robot reports undefined reference to public_key_verify_signature when CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE is not defined. Create a static version in this case and return -EINVAL.
Fixes: db6c43bd2132 ("crypto: KEYS: convert public key and digsig asym to the akcipher api") Reported-by: kernel test robot lkp@intel.com Signed-off-by: Eric Snowberg eric.snowberg@oracle.com Reviewed-by: Mimi Zohar zohar@linux.ibm.com Reviewed-by: Petr Vorel pvorel@suse.cz Reviewed-by: Jarkko Sakkinen jarkko@kernel.org gested-by: Mimi Zohar zohar@linux.ibm.com Signed-off-by: Jarkko Sakkinen jarkko@kernel.org Signed-off-by: Felix Fu fuzhen5@huawei.com --- include/crypto/public_key.h | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/include/crypto/public_key.h b/include/crypto/public_key.h index 041e2c023a8e..28748a6b0a1d 100644 --- a/include/crypto/public_key.h +++ b/include/crypto/public_key.h @@ -90,7 +90,16 @@ extern int create_signature(struct kernel_pkey_params *, const void *, void *); extern int verify_signature(const struct key *, const struct public_key_signature *);
+#if IS_REACHABLE(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) int public_key_verify_signature(const struct public_key *pkey, const struct public_key_signature *sig); +#else +static inline +int public_key_verify_signature(const struct public_key *pkey, + const struct public_key_signature *sig) +{ + return -EINVAL; +} +#endif
#endif /* _LINUX_PUBLIC_KEY_H */