mbox series

[v2,0/7] crypto: rc4 cleanup

Message ID 20190609115509.26260-1-ard.biesheuvel@linaro.org
Headers show
Series crypto: rc4 cleanup | expand

Message

Ard Biesheuvel June 9, 2019, 11:55 a.m. UTC
This is a follow-up to, and supersedes [0], which moved some WEP code from
the cipher to the skcipher interface, in order to reduce the use of the bare
cipher interface in non-crypto subsystem code.

Since using the skcipher interface to invoke the generic C implementation of
an algorithm that is known at compile time is rather pointless, this series
moves those users to a new arc4 library interface instead, which is based on
the existing code.

Along the way, the arc4 cipher implementation is removed entirely, and only
the ecb(arc4) code is preserved, which is used in a number of places in the
kernel, and is known to be used by at least 'iwd' from user space via the
algif_skcipher API.

[0] https://lore.kernel.org/linux-crypto/20190607144944.13485-1-ard.biesheuvel@linaro.org/

Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Biggers <ebiggers@google.com>

Ard Biesheuvel (7):
  crypto: arc4 - refactor arc4 core code into separate library
  net/mac80211: move WEP handling to ARC4 library interface
  net/lib80211: move WEP handling to ARC4 library code
  net/lib80211: move TKIP handling to ARC4 library code
  crypto: arc4 - remove cipher implementation
  ppp: mppe: switch to RC4 library interface
  fs: cifs: switch to RC4 library interface

 MAINTAINERS                        |   1 +
 crypto/Kconfig                     |   4 +
 crypto/arc4.c                      | 106 ++------------------
 drivers/net/ppp/Kconfig            |   3 +-
 drivers/net/ppp/ppp_mppe.c         |  92 ++---------------
 fs/cifs/Kconfig                    |   2 +-
 fs/cifs/cifsencrypt.c              |  50 +++------
 include/crypto/arc4.h              |  13 +++
 lib/Makefile                       |   2 +-
 lib/crypto/Makefile                |   3 +
 lib/crypto/libarc4.c               |  74 ++++++++++++++
 net/mac80211/Kconfig               |   2 +-
 net/mac80211/cfg.c                 |   3 -
 net/mac80211/ieee80211_i.h         |   4 +-
 net/mac80211/key.h                 |   1 +
 net/mac80211/main.c                |  48 +--------
 net/mac80211/mlme.c                |   2 -
 net/mac80211/tkip.c                |   8 +-
 net/mac80211/tkip.h                |   4 +-
 net/mac80211/wep.c                 |  47 ++-------
 net/mac80211/wep.h                 |   4 +-
 net/mac80211/wpa.c                 |   4 +-
 net/wireless/Kconfig               |   1 +
 net/wireless/lib80211_crypt_tkip.c |  42 +++-----
 net/wireless/lib80211_crypt_wep.c  |  43 ++------
 25 files changed, 176 insertions(+), 387 deletions(-)
 create mode 100644 lib/crypto/Makefile
 create mode 100644 lib/crypto/libarc4.c

-- 
2.20.1

Comments

Ard Biesheuvel June 9, 2019, 12:03 p.m. UTC | #1
(adding Johannes back to the cover letter cc)

On Sun, 9 Jun 2019 at 13:55, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>

> This is a follow-up to, and supersedes [0], which moved some WEP code from

> the cipher to the skcipher interface, in order to reduce the use of the bare

> cipher interface in non-crypto subsystem code.

>

> Since using the skcipher interface to invoke the generic C implementation of

> an algorithm that is known at compile time is rather pointless, this series

> moves those users to a new arc4 library interface instead, which is based on

> the existing code.

>

> Along the way, the arc4 cipher implementation is removed entirely, and only

> the ecb(arc4) code is preserved, which is used in a number of places in the

> kernel, and is known to be used by at least 'iwd' from user space via the

> algif_skcipher API.

>

> [0] https://lore.kernel.org/linux-crypto/20190607144944.13485-1-ard.biesheuvel@linaro.org/

>

> Cc: Herbert Xu <herbert@gondor.apana.org.au>

> Cc: "David S. Miller" <davem@davemloft.net>

> Cc: Eric Biggers <ebiggers@google.com>

>

> Ard Biesheuvel (7):

>   crypto: arc4 - refactor arc4 core code into separate library

>   net/mac80211: move WEP handling to ARC4 library interface

>   net/lib80211: move WEP handling to ARC4 library code

>   net/lib80211: move TKIP handling to ARC4 library code

>   crypto: arc4 - remove cipher implementation

>   ppp: mppe: switch to RC4 library interface

>   fs: cifs: switch to RC4 library interface

>

>  MAINTAINERS                        |   1 +

>  crypto/Kconfig                     |   4 +

>  crypto/arc4.c                      | 106 ++------------------

>  drivers/net/ppp/Kconfig            |   3 +-

>  drivers/net/ppp/ppp_mppe.c         |  92 ++---------------

>  fs/cifs/Kconfig                    |   2 +-

>  fs/cifs/cifsencrypt.c              |  50 +++------

>  include/crypto/arc4.h              |  13 +++

>  lib/Makefile                       |   2 +-

>  lib/crypto/Makefile                |   3 +

>  lib/crypto/libarc4.c               |  74 ++++++++++++++

>  net/mac80211/Kconfig               |   2 +-

>  net/mac80211/cfg.c                 |   3 -

>  net/mac80211/ieee80211_i.h         |   4 +-

>  net/mac80211/key.h                 |   1 +

>  net/mac80211/main.c                |  48 +--------

>  net/mac80211/mlme.c                |   2 -

>  net/mac80211/tkip.c                |   8 +-

>  net/mac80211/tkip.h                |   4 +-

>  net/mac80211/wep.c                 |  47 ++-------

>  net/mac80211/wep.h                 |   4 +-

>  net/mac80211/wpa.c                 |   4 +-

>  net/wireless/Kconfig               |   1 +

>  net/wireless/lib80211_crypt_tkip.c |  42 +++-----

>  net/wireless/lib80211_crypt_wep.c  |  43 ++------

>  25 files changed, 176 insertions(+), 387 deletions(-)

>  create mode 100644 lib/crypto/Makefile

>  create mode 100644 lib/crypto/libarc4.c

>

> --

> 2.20.1

>