Message ID | ZJZ8/JifEeygojAq@gondor.apana.org.au (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Herbert Xu |
Headers | show |
Series | crypto: sm2 - Provide sm2_compute_z_digest when sm2 is disabled | expand |
On Sat, 24 Jun 2023 at 07:20, Herbert Xu <herbert@gondor.apana.org.au> wrote: > > On Fri, Jun 23, 2023 at 07:22:29PM +0800, kernel test robot wrote: > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master > > head: b335f258e8ddafec0e8ae2201ca78d29ed8f85eb > > commit: e5221fa6a355112ddcc29dc82a94f7c3a1aacc0b [76/81] KEYS: asymmetric: Move sm2 code into x509_public_key > > config: nios2-randconfig-r031-20230622 (https://download.01.org/0day-ci/archive/20230623/202306231917.utO12sx8-lkp@intel.com/config) > > compiler: nios2-linux-gcc (GCC) 12.3.0 > > reproduce: (https://download.01.org/0day-ci/archive/20230623/202306231917.utO12sx8-lkp@intel.com/reproduce) > > ---8<--- > When sm2 is disabled we need to provide an implementation of > sm2_compute_z_digest. > > Fixes: e5221fa6a355 ("KEYS: asymmetric: Move sm2 code into x509_public_key") > Reported-by: kernel test robot <lkp@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202306231917.utO12sx8-lkp@intel.com/ > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> > > diff --git a/include/crypto/sm2.h b/include/crypto/sm2.h > index 7094d75ed54c..04a92c1013c8 100644 > --- a/include/crypto/sm2.h > +++ b/include/crypto/sm2.h > @@ -13,7 +13,16 @@ > > struct shash_desc; > > +#if IS_REACHABLE(CONFIG_CRYPTO_SM2) > int sm2_compute_z_digest(struct shash_desc *desc, > const void *key, unsigned int keylen, void *dgst); > +#else > +static inline int sm2_compute_z_digest(struct shash_desc *desc, > + const void *key, unsigned int keylen, > + void *dgst) > +{ > + return -ENOTSUPP; > +} > +#endif > > #endif /* _CRYPTO_SM2_H */ How is this supposed to work when CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y but SM2 is configured as a module?
On Sat, Jun 24, 2023 at 09:40:59AM +0200, Ard Biesheuvel wrote: > > How is this supposed to work when > CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y but SM2 is configured as a > module? It will fail as it did previously. I'm just rearranging the code. Perhaps when another algorithm that requires a non-standard digest comes up we can think up of a proper abstraction. Cheers,
On Sat, 24 Jun 2023 at 09:47, Herbert Xu <herbert@gondor.apana.org.au> wrote: > > On Sat, Jun 24, 2023 at 09:40:59AM +0200, Ard Biesheuvel wrote: > > > > How is this supposed to work when > > CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y but SM2 is configured as a > > module? > > It will fail as it did previously. I'm just rearranging the code. > Perhaps when another algorithm that requires a non-standard digest > comes up we can think up of a proper abstraction. > Fair enough.
diff --git a/include/crypto/sm2.h b/include/crypto/sm2.h index 7094d75ed54c..04a92c1013c8 100644 --- a/include/crypto/sm2.h +++ b/include/crypto/sm2.h @@ -13,7 +13,16 @@ struct shash_desc; +#if IS_REACHABLE(CONFIG_CRYPTO_SM2) int sm2_compute_z_digest(struct shash_desc *desc, const void *key, unsigned int keylen, void *dgst); +#else +static inline int sm2_compute_z_digest(struct shash_desc *desc, + const void *key, unsigned int keylen, + void *dgst) +{ + return -ENOTSUPP; +} +#endif #endif /* _CRYPTO_SM2_H */