lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <acac3ff7-36cd-72b4-1857-c8e3588d287f@gmail.com>
Date:   Sun, 28 May 2023 08:38:42 +0200
From:   Philipp Hortmann <philipp.g.hortmann@...il.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org
Cc:     "Larry.Finger@...inger.net" <Larry.Finger@...inger.net>
Subject: staging: rtl8192e: Replace drivers rtllib_crypt_ccmp_... with
 lib80211_crypt_...

Hi,

it is possible to remove three modules from the staging area by replacing:
rtllib_crypt_ccmp with lib80211_crypt_ccmp
rtllib_crypt_tkip with lib80211_crypt_tkip
rtllib_crypt_wep with lib80211_crypt_wep

The following issues arise:
- rtl8192e needs to be switched to software encryption or
   lib80211_crypt_... needs to be extended with hardware encryption.
- Performance is dropping on my computer from 12,5MB/s to 1,5MB/s when
   switching to software encryption.(it does not really change if I use
   rtllib_crypt_ccmp or lib80211_crypt_ccmp)
- Fix: rtllib_rx_decrypt: decrypt frame error that occure sometimes on
   lib80211_crypt_ccmp

Below the changes on the driver that made use of lib80211_crypt_... 
possible.

So the questions are:
Is it worth the effort or is this going in the wrong direction?
Does it help the kernel community or is it just creating more effort?
Why does LIB80211 not support hardware encryption? Or does it?

Thanks for your support.

Bye Philipp

diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c 
b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
index 17b70dde7eeb..ef0fa05ff510 100644
--- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
+++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
@@ -22,7 +22,7 @@

  #include "rtl_pm.h"

-int hwwep = 1;
+int hwwep = 0;
  static char *ifname = "wlan%d";

  static struct pci_device_id rtl8192_pci_id_tbl[] = {
diff --git a/drivers/staging/rtl8192e/rtllib_wx.c 
b/drivers/staging/rtl8192e/rtllib_wx.c
index 82b537da8b21..0db6e32b5494 100644
--- a/drivers/staging/rtl8192e/rtllib_wx.c
+++ b/drivers/staging/rtl8192e/rtllib_wx.c
@@ -522,16 +522,16 @@ int rtllib_wx_set_encode_ext(struct rtllib_device 
*ieee,
         sec.enabled = 1;
         switch (ext->alg) {
         case IW_ENCODE_ALG_WEP:
-               alg = "R-WEP";
-               module = "rtllib_crypt_wep";
+               alg = "WEP";
+               module = "lib80211_crypt_wep";
                 break;
         case IW_ENCODE_ALG_TKIP:
-               alg = "R-TKIP";
-               module = "rtllib_crypt_tkip";
+               alg = "TKIP";
+               module = "lib80211_crypt_tkip";
                 break;
         case IW_ENCODE_ALG_CCMP:
-               alg = "R-CCMP";
-               module = "rtllib_crypt_ccmp";
+               alg = "CCMP";
+               module = "lib80211_crypt_ccmp";
                 break;
         default:
                 netdev_dbg(ieee->dev, "Unknown crypto alg %d\n", ext->alg);

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ