Message ID | 20190223082323.4126-1-ebiggers@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Herbert Xu |
Headers | show |
Series | crypto: cavium/zip - fix collision with generic cra_driver_name | expand |
On Sat, Feb 23, 2019 at 12:23:23AM -0800, Eric Biggers wrote: > From: Eric Biggers <ebiggers@google.com> > > The cavium/zip implementation of the deflate compression algorithm is > incorrectly being registered under the generic driver name, which > prevents the generic implementation from being registered with the > crypto API when CONFIG_CRYPTO_DEV_CAVIUM_ZIP=y. Similarly the lzs > algorithm (which does not currently have a generic implementation...) > is incorrectly being registered as lzs-generic. > > Fix the naming collision by adding a suffix "-cavium" to the > cra_driver_name of the cavium/zip algorithms. The patch is fine, basically the same as: https://marc.info/?l=linux-crypto-vger&m=152968599829763&w=2 Shouldn't we also rename deflate to deflate generic? --Jan > Fixes: 640035a2dc55 ("crypto: zip - Add ThunderX ZIP driver core") > Cc: Mahipal Challa <mahipalreddy2006@gmail.com> > Cc: Jan Glauber <jglauber@cavium.com> > Signed-off-by: Eric Biggers <ebiggers@google.com> > --- > drivers/crypto/cavium/zip/zip_main.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c > index e6b09e784e666..a8447a3cf3665 100644 > --- a/drivers/crypto/cavium/zip/zip_main.c > +++ b/drivers/crypto/cavium/zip/zip_main.c > @@ -351,6 +351,7 @@ static struct pci_driver zip_driver = { > > static struct crypto_alg zip_comp_deflate = { > .cra_name = "deflate", > + .cra_driver_name = "deflate-cavium", > .cra_flags = CRYPTO_ALG_TYPE_COMPRESS, > .cra_ctxsize = sizeof(struct zip_kernel_ctx), > .cra_priority = 300, > @@ -365,6 +366,7 @@ static struct crypto_alg zip_comp_deflate = { > > static struct crypto_alg zip_comp_lzs = { > .cra_name = "lzs", > + .cra_driver_name = "lzs-cavium", > .cra_flags = CRYPTO_ALG_TYPE_COMPRESS, > .cra_ctxsize = sizeof(struct zip_kernel_ctx), > .cra_priority = 300, > @@ -384,7 +386,7 @@ static struct scomp_alg zip_scomp_deflate = { > .decompress = zip_scomp_decompress, > .base = { > .cra_name = "deflate", > - .cra_driver_name = "deflate-scomp", > + .cra_driver_name = "deflate-scomp-cavium", > .cra_module = THIS_MODULE, > .cra_priority = 300, > } > @@ -397,7 +399,7 @@ static struct scomp_alg zip_scomp_lzs = { > .decompress = zip_scomp_decompress, > .base = { > .cra_name = "lzs", > - .cra_driver_name = "lzs-scomp", > + .cra_driver_name = "lzs-scomp-cavium", > .cra_module = THIS_MODULE, > .cra_priority = 300, > } > -- > 2.20.1
On Tue, Feb 26, 2019 at 07:55:54AM +0000, Jan Glauber wrote: > On Sat, Feb 23, 2019 at 12:23:23AM -0800, Eric Biggers wrote: > > From: Eric Biggers <ebiggers@google.com> > > > > The cavium/zip implementation of the deflate compression algorithm is > > incorrectly being registered under the generic driver name, which > > prevents the generic implementation from being registered with the > > crypto API when CONFIG_CRYPTO_DEV_CAVIUM_ZIP=y. Similarly the lzs > > algorithm (which does not currently have a generic implementation...) > > is incorrectly being registered as lzs-generic. > > > > Fix the naming collision by adding a suffix "-cavium" to the > > cra_driver_name of the cavium/zip algorithms. > > The patch is fine, basically the same as: > https://marc.info/?l=linux-crypto-vger&m=152968599829763&w=2 > > Shouldn't we also rename deflate to deflate generic? > > --Jan > It is already deflate-generic. Since cra_driver_name is unset, crypto_set_driver_name() in crypto/algapi.c appends "-generic" to cra_name = "deflate", forming cra_driver_name = "deflate-generic". Personally I think that should be gotten rid of and the crypto API should require that cra_driver_name always be set, but that's what it does now. > > Fixes: 640035a2dc55 ("crypto: zip - Add ThunderX ZIP driver core") > > Cc: Mahipal Challa <mahipalreddy2006@gmail.com> > > Cc: Jan Glauber <jglauber@cavium.com> > > Signed-off-by: Eric Biggers <ebiggers@google.com> > > --- > > drivers/crypto/cavium/zip/zip_main.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c > > index e6b09e784e666..a8447a3cf3665 100644 > > --- a/drivers/crypto/cavium/zip/zip_main.c > > +++ b/drivers/crypto/cavium/zip/zip_main.c > > @@ -351,6 +351,7 @@ static struct pci_driver zip_driver = { > > > > static struct crypto_alg zip_comp_deflate = { > > .cra_name = "deflate", > > + .cra_driver_name = "deflate-cavium", > > .cra_flags = CRYPTO_ALG_TYPE_COMPRESS, > > .cra_ctxsize = sizeof(struct zip_kernel_ctx), > > .cra_priority = 300, > > @@ -365,6 +366,7 @@ static struct crypto_alg zip_comp_deflate = { > > > > static struct crypto_alg zip_comp_lzs = { > > .cra_name = "lzs", > > + .cra_driver_name = "lzs-cavium", > > .cra_flags = CRYPTO_ALG_TYPE_COMPRESS, > > .cra_ctxsize = sizeof(struct zip_kernel_ctx), > > .cra_priority = 300, > > @@ -384,7 +386,7 @@ static struct scomp_alg zip_scomp_deflate = { > > .decompress = zip_scomp_decompress, > > .base = { > > .cra_name = "deflate", > > - .cra_driver_name = "deflate-scomp", > > + .cra_driver_name = "deflate-scomp-cavium", > > .cra_module = THIS_MODULE, > > .cra_priority = 300, > > } > > @@ -397,7 +399,7 @@ static struct scomp_alg zip_scomp_lzs = { > > .decompress = zip_scomp_decompress, > > .base = { > > .cra_name = "lzs", > > - .cra_driver_name = "lzs-scomp", > > + .cra_driver_name = "lzs-scomp-cavium", > > .cra_module = THIS_MODULE, > > .cra_priority = 300, > > } > > -- > > 2.20.1
On Sat, Feb 23, 2019 at 12:23:23AM -0800, Eric Biggers wrote: > From: Eric Biggers <ebiggers@google.com> > > The cavium/zip implementation of the deflate compression algorithm is > incorrectly being registered under the generic driver name, which > prevents the generic implementation from being registered with the > crypto API when CONFIG_CRYPTO_DEV_CAVIUM_ZIP=y. Similarly the lzs > algorithm (which does not currently have a generic implementation...) > is incorrectly being registered as lzs-generic. > > Fix the naming collision by adding a suffix "-cavium" to the > cra_driver_name of the cavium/zip algorithms. > > Fixes: 640035a2dc55 ("crypto: zip - Add ThunderX ZIP driver core") > Cc: Mahipal Challa <mahipalreddy2006@gmail.com> > Cc: Jan Glauber <jglauber@cavium.com> > Signed-off-by: Eric Biggers <ebiggers@google.com> > --- > drivers/crypto/cavium/zip/zip_main.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) Patch applied. Thanks.
diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c index e6b09e784e666..a8447a3cf3665 100644 --- a/drivers/crypto/cavium/zip/zip_main.c +++ b/drivers/crypto/cavium/zip/zip_main.c @@ -351,6 +351,7 @@ static struct pci_driver zip_driver = { static struct crypto_alg zip_comp_deflate = { .cra_name = "deflate", + .cra_driver_name = "deflate-cavium", .cra_flags = CRYPTO_ALG_TYPE_COMPRESS, .cra_ctxsize = sizeof(struct zip_kernel_ctx), .cra_priority = 300, @@ -365,6 +366,7 @@ static struct crypto_alg zip_comp_deflate = { static struct crypto_alg zip_comp_lzs = { .cra_name = "lzs", + .cra_driver_name = "lzs-cavium", .cra_flags = CRYPTO_ALG_TYPE_COMPRESS, .cra_ctxsize = sizeof(struct zip_kernel_ctx), .cra_priority = 300, @@ -384,7 +386,7 @@ static struct scomp_alg zip_scomp_deflate = { .decompress = zip_scomp_decompress, .base = { .cra_name = "deflate", - .cra_driver_name = "deflate-scomp", + .cra_driver_name = "deflate-scomp-cavium", .cra_module = THIS_MODULE, .cra_priority = 300, } @@ -397,7 +399,7 @@ static struct scomp_alg zip_scomp_lzs = { .decompress = zip_scomp_decompress, .base = { .cra_name = "lzs", - .cra_driver_name = "lzs-scomp", + .cra_driver_name = "lzs-scomp-cavium", .cra_module = THIS_MODULE, .cra_priority = 300, }