* [PATCH] crypto: lib/gf128mul - Remove some bbe deadcode
@ 2024-12-11 22:02 linux
2024-12-22 4:18 ` Herbert Xu
0 siblings, 1 reply; 5+ messages in thread
From: linux @ 2024-12-11 22:02 UTC (permalink / raw)
To: herbert, davem; +Cc: linux-crypto, linux-kernel, Dr. David Alan Gilbert
From: "Dr. David Alan Gilbert" <linux@treblig.org>
gf128mul_4k_bbe(), gf128mul_bbe() and gf128mul_init_4k_bbe()
are part of the library originally added in 2006 by
commit c494e0705d67 ("[CRYPTO] lib: table driven multiplications in
GF(2^128)")
but have never been used.
Remove them.
(BBE is Big endian Byte/Big endian bits
Note the 64k table version is used and I've left that in)
Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
---
include/crypto/gf128mul.h | 6 +---
lib/crypto/gf128mul.c | 75 ---------------------------------------
2 files changed, 1 insertion(+), 80 deletions(-)
diff --git a/include/crypto/gf128mul.h b/include/crypto/gf128mul.h
index 81330c6446f6..b0853f7cada0 100644
--- a/include/crypto/gf128mul.h
+++ b/include/crypto/gf128mul.h
@@ -158,12 +158,10 @@
64...71 72...79 80...87 88...95 96..103 104.111 112.119 120.127
*/
-/* A slow generic version of gf_mul, implemented for lle and bbe
+/* A slow generic version of gf_mul, implemented for lle
* It multiplies a and b and puts the result in a */
void gf128mul_lle(be128 *a, const be128 *b);
-void gf128mul_bbe(be128 *a, const be128 *b);
-
/*
* The following functions multiply a field element by x in
* the polynomial field representation. They use 64-bit word operations
@@ -224,9 +222,7 @@ struct gf128mul_4k {
};
struct gf128mul_4k *gf128mul_init_4k_lle(const be128 *g);
-struct gf128mul_4k *gf128mul_init_4k_bbe(const be128 *g);
void gf128mul_4k_lle(be128 *a, const struct gf128mul_4k *t);
-void gf128mul_4k_bbe(be128 *a, const struct gf128mul_4k *t);
void gf128mul_x8_ble(le128 *r, const le128 *x);
static inline void gf128mul_free_4k(struct gf128mul_4k *t)
{
diff --git a/lib/crypto/gf128mul.c b/lib/crypto/gf128mul.c
index 8f8c45e0cdcf..fbe72cb3453a 100644
--- a/lib/crypto/gf128mul.c
+++ b/lib/crypto/gf128mul.c
@@ -225,44 +225,6 @@ void gf128mul_lle(be128 *r, const be128 *b)
}
EXPORT_SYMBOL(gf128mul_lle);
-void gf128mul_bbe(be128 *r, const be128 *b)
-{
- be128 p[8];
- int i;
-
- p[0] = *r;
- for (i = 0; i < 7; ++i)
- gf128mul_x_bbe(&p[i + 1], &p[i]);
-
- memset(r, 0, sizeof(*r));
- for (i = 0;;) {
- u8 ch = ((u8 *)b)[i];
-
- if (ch & 0x80)
- be128_xor(r, r, &p[7]);
- if (ch & 0x40)
- be128_xor(r, r, &p[6]);
- if (ch & 0x20)
- be128_xor(r, r, &p[5]);
- if (ch & 0x10)
- be128_xor(r, r, &p[4]);
- if (ch & 0x08)
- be128_xor(r, r, &p[3]);
- if (ch & 0x04)
- be128_xor(r, r, &p[2]);
- if (ch & 0x02)
- be128_xor(r, r, &p[1]);
- if (ch & 0x01)
- be128_xor(r, r, &p[0]);
-
- if (++i >= 16)
- break;
-
- gf128mul_x8_bbe(r);
- }
-}
-EXPORT_SYMBOL(gf128mul_bbe);
-
/* This version uses 64k bytes of table space.
A 16 byte buffer has to be multiplied by a 16 byte key
value in GF(2^128). If we consider a GF(2^128) value in
@@ -380,28 +342,6 @@ struct gf128mul_4k *gf128mul_init_4k_lle(const be128 *g)
}
EXPORT_SYMBOL(gf128mul_init_4k_lle);
-struct gf128mul_4k *gf128mul_init_4k_bbe(const be128 *g)
-{
- struct gf128mul_4k *t;
- int j, k;
-
- t = kzalloc(sizeof(*t), GFP_KERNEL);
- if (!t)
- goto out;
-
- t->t[1] = *g;
- for (j = 1; j <= 64; j <<= 1)
- gf128mul_x_bbe(&t->t[j + j], &t->t[j]);
-
- for (j = 2; j < 256; j += j)
- for (k = 1; k < j; ++k)
- be128_xor(&t->t[j + k], &t->t[j], &t->t[k]);
-
-out:
- return t;
-}
-EXPORT_SYMBOL(gf128mul_init_4k_bbe);
-
void gf128mul_4k_lle(be128 *a, const struct gf128mul_4k *t)
{
u8 *ap = (u8 *)a;
@@ -417,20 +357,5 @@ void gf128mul_4k_lle(be128 *a, const struct gf128mul_4k *t)
}
EXPORT_SYMBOL(gf128mul_4k_lle);
-void gf128mul_4k_bbe(be128 *a, const struct gf128mul_4k *t)
-{
- u8 *ap = (u8 *)a;
- be128 r[1];
- int i = 0;
-
- *r = t->t[ap[0]];
- while (++i < 16) {
- gf128mul_x8_bbe(r);
- be128_xor(r, r, &t->t[ap[i]]);
- }
- *a = *r;
-}
-EXPORT_SYMBOL(gf128mul_4k_bbe);
-
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Functions for multiplying elements of GF(2^128)");
--
2.47.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] crypto: lib/gf128mul - Remove some bbe deadcode
2024-12-11 22:02 [PATCH] crypto: lib/gf128mul - Remove some bbe deadcode linux
@ 2024-12-22 4:18 ` Herbert Xu
2024-12-22 11:54 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 5+ messages in thread
From: Herbert Xu @ 2024-12-22 4:18 UTC (permalink / raw)
To: linux; +Cc: davem, linux-crypto, linux-kernel
On Wed, Dec 11, 2024 at 10:02:18PM +0000, linux@treblig.org wrote:
> From: "Dr. David Alan Gilbert" <linux@treblig.org>
>
> gf128mul_4k_bbe(), gf128mul_bbe() and gf128mul_init_4k_bbe()
> are part of the library originally added in 2006 by
> commit c494e0705d67 ("[CRYPTO] lib: table driven multiplications in
> GF(2^128)")
>
> but have never been used.
>
> Remove them.
> (BBE is Big endian Byte/Big endian bits
> Note the 64k table version is used and I've left that in)
>
> Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
> ---
> include/crypto/gf128mul.h | 6 +---
> lib/crypto/gf128mul.c | 75 ---------------------------------------
> 2 files changed, 1 insertion(+), 80 deletions(-)
Patch applied. Thanks.
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] crypto: lib/gf128mul - Remove some bbe deadcode
2024-12-22 4:18 ` Herbert Xu
@ 2024-12-22 11:54 ` Dr. David Alan Gilbert
2024-12-23 2:53 ` Herbert Xu
0 siblings, 1 reply; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2024-12-22 11:54 UTC (permalink / raw)
To: Herbert Xu; +Cc: davem, linux-crypto, linux-kernel
* Herbert Xu (herbert@gondor.apana.org.au) wrote:
> On Wed, Dec 11, 2024 at 10:02:18PM +0000, linux@treblig.org wrote:
> > From: "Dr. David Alan Gilbert" <linux@treblig.org>
> >
> > gf128mul_4k_bbe(), gf128mul_bbe() and gf128mul_init_4k_bbe()
> > are part of the library originally added in 2006 by
> > commit c494e0705d67 ("[CRYPTO] lib: table driven multiplications in
> > GF(2^128)")
> >
> > but have never been used.
> >
> > Remove them.
> > (BBE is Big endian Byte/Big endian bits
> > Note the 64k table version is used and I've left that in)
> >
> > Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
> > ---
> > include/crypto/gf128mul.h | 6 +---
> > lib/crypto/gf128mul.c | 75 ---------------------------------------
> > 2 files changed, 1 insertion(+), 80 deletions(-)
>
> Patch applied. Thanks.
Thanks! I'd appreciate if you could also look back at one
from September:
async_xor: Remove unused 'async_xor_val'
Message ID: 20240929132148.44792-1-linux@treblig.org
Thanks again,
Dave
> --
> Email: Herbert Xu <herbert@gondor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
>
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ dave @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] crypto: lib/gf128mul - Remove some bbe deadcode
2024-12-22 11:54 ` Dr. David Alan Gilbert
@ 2024-12-23 2:53 ` Herbert Xu
2024-12-23 12:21 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 5+ messages in thread
From: Herbert Xu @ 2024-12-23 2:53 UTC (permalink / raw)
To: Dr. David Alan Gilbert; +Cc: davem, linux-crypto, linux-kernel, Dan Williams
On Sun, Dec 22, 2024 at 11:54:49AM +0000, Dr. David Alan Gilbert wrote:
>
> Thanks! I'd appreciate if you could also look back at one
> from September:
> async_xor: Remove unused 'async_xor_val'
> Message ID: 20240929132148.44792-1-linux@treblig.org
The MAINTAINERS entry for that file is:
ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
R: Dan Williams <dan.j.williams@intel.com>
S: Odd fixes
W: http://sourceforge.net/projects/xscaleiop
F: Documentation/crypto/async-tx-api.rst
F: crypto/async_tx/
F: include/linux/async_tx.h
Cheers,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] crypto: lib/gf128mul - Remove some bbe deadcode
2024-12-23 2:53 ` Herbert Xu
@ 2024-12-23 12:21 ` Dr. David Alan Gilbert
0 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2024-12-23 12:21 UTC (permalink / raw)
To: Herbert Xu; +Cc: davem, linux-crypto, linux-kernel, Dan Williams
* Herbert Xu (herbert@gondor.apana.org.au) wrote:
> On Sun, Dec 22, 2024 at 11:54:49AM +0000, Dr. David Alan Gilbert wrote:
> >
> > Thanks! I'd appreciate if you could also look back at one
> > from September:
> > async_xor: Remove unused 'async_xor_val'
> > Message ID: 20240929132148.44792-1-linux@treblig.org
>
> The MAINTAINERS entry for that file is:
>
> ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
> R: Dan Williams <dan.j.williams@intel.com>
> S: Odd fixes
> W: http://sourceforge.net/projects/xscaleiop
> F: Documentation/crypto/async-tx-api.rst
> F: crypto/async_tx/
> F: include/linux/async_tx.h
That is who I mailed at the time but it didn't go anywhere.
Thanks again,
Dave
> Cheers,
> --
> Email: Herbert Xu <herbert@gondor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ dave @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-12-23 12:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-11 22:02 [PATCH] crypto: lib/gf128mul - Remove some bbe deadcode linux
2024-12-22 4:18 ` Herbert Xu
2024-12-22 11:54 ` Dr. David Alan Gilbert
2024-12-23 2:53 ` Herbert Xu
2024-12-23 12:21 ` Dr. David Alan Gilbert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox