2020-05-26 16:00:06

by Larry Finger

[permalink] [raw]
Subject: [PATCH 0/2] Fix WPA3 problems with b43 and b43_legacy

Neither of these two drivers handle MFP in their hardware encryption,
thus they need to use the software version built into mac80211.
Unfortunately, neither of them sent MFP_CAPABLE as part of their
capabilities.

Signed-off-by: Larry Finger <[email protected]>

Larry Finger (2):
b43: Fix connection problem with WPA3
b43_legacy: Fix connection problem with WPA3

drivers/net/wireless/broadcom/b43/main.c | 2 +-
drivers/net/wireless/broadcom/b43legacy/main.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)

--
2.26.2


2020-05-26 16:00:08

by Larry Finger

[permalink] [raw]
Subject: [PATCH 1/2] b43: Fix connection problem with WPA3

Since the driver was first introduced into the kernel, it has only
handled the ciphers associated with WEP, WPA, and WPA2. It fails with
WPA3 even though mac80211 can handle those additional ciphers in software,
b43 did not report that it could handle them. By setting MFP_CAPABLE using
ieee80211_set_hw(), the problem is fixed.

With this change, b43 will handle the ciohers it knows in hardare,
and let mac80211 handle the others in software. It is not necessary to
use the module parameter NOHWCRYPT to turn hardware encryption off.
Although this change essentially eliminates that module parameter,
I am choosing to keep it for cases where the hardware is broken,
and software encryption is required for all ciphers.

This patch fixes a prooblem that has been in the driver since it was first
merged with commit e4d6b7951812 ("[B43]: add mac80211-based driver for
modern BCM43xx devices").

Fixes e4d6b7951812 ("[B43]: add mac80211-based driver for modern BCM43xx devices")
Reported-and-tested-by: Rui Salvaterra <[email protected]>
Signed-off-by: Larry Finger <[email protected]>
Cc: Stable <[email protected]>
---
drivers/net/wireless/broadcom/b43/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c
index 39da1a4c30ac..3ad94dad2d89 100644
--- a/drivers/net/wireless/broadcom/b43/main.c
+++ b/drivers/net/wireless/broadcom/b43/main.c
@@ -5569,7 +5569,7 @@ static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)
/* fill hw info */
ieee80211_hw_set(hw, RX_INCLUDES_FCS);
ieee80211_hw_set(hw, SIGNAL_DBM);
-
+ ieee80211_hw_set(hw, MFP_CAPABLE);
hw->wiphy->interface_modes =
BIT(NL80211_IFTYPE_AP) |
BIT(NL80211_IFTYPE_MESH_POINT) |
--
2.26.2

2020-05-26 16:00:26

by Larry Finger

[permalink] [raw]
Subject: [PATCH 2/2] b43_legacy: Fix connection problem with WPA3

Since the driver was first introduced into the kernel, it has only
handled the ciphers associated with WEP, WPA, and WPA2. It fails with
WPA3 even though mac80211 can handle those additional ciphers in software,
b43legacy did not report that it could handle them. By setting MFP_CAPABLE using
ieee80211_set_hw(), the problem is fixed.

With this change, b43legacy will handle the ciohers it knows in hardare,
and let mac80211 handle the others in software. It is not necessary to
use the module parameter NOHWCRYPT to turn hardware encryption off.
Although this change essentially eliminates that module parameter,
I am choosing to keep it for cases where the hardware is broken,
and software encryption is required for all ciphers.

This patch fixes a problem that has been in b43legacy since commit
75388acd0cd8 ("[B43LEGACY]: add mac80211-based driver for legacy BCM43xx
devices").

Fixes: 75388acd0cd8 ("[B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices")
Signed-off-by: Larry Finger <[email protected]>
Cc: Stable <[email protected]>
---
drivers/net/wireless/broadcom/b43legacy/main.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/broadcom/b43legacy/main.c b/drivers/net/wireless/broadcom/b43legacy/main.c
index 8b6b657c4b85..5208a39fd6f7 100644
--- a/drivers/net/wireless/broadcom/b43legacy/main.c
+++ b/drivers/net/wireless/broadcom/b43legacy/main.c
@@ -3801,6 +3801,7 @@ static int b43legacy_wireless_init(struct ssb_device *dev)
/* fill hw info */
ieee80211_hw_set(hw, RX_INCLUDES_FCS);
ieee80211_hw_set(hw, SIGNAL_DBM);
+ ieee80211_hw_set(hw, MFP_CAPABLE); /* Allow WPA3 in software */

hw->wiphy->interface_modes =
BIT(NL80211_IFTYPE_AP) |
--
2.26.2

2020-05-27 12:39:56

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/2] b43: Fix connection problem with WPA3

Larry Finger <[email protected]> writes:

> Since the driver was first introduced into the kernel, it has only
> handled the ciphers associated with WEP, WPA, and WPA2. It fails with
> WPA3 even though mac80211 can handle those additional ciphers in software,
> b43 did not report that it could handle them. By setting MFP_CAPABLE using
> ieee80211_set_hw(), the problem is fixed.
>
> With this change, b43 will handle the ciohers it knows in hardare,

I'll change this to:

"ciphers it knows in hardware"

> and let mac80211 handle the others in software. It is not necessary to
> use the module parameter NOHWCRYPT to turn hardware encryption off.
> Although this change essentially eliminates that module parameter,
> I am choosing to keep it for cases where the hardware is broken,
> and software encryption is required for all ciphers.
>
> This patch fixes a prooblem that has been in the driver since it was first
> merged with commit e4d6b7951812 ("[B43]: add mac80211-based driver for
> modern BCM43xx devices").
>
> Fixes e4d6b7951812 ("[B43]: add mac80211-based driver for modern BCM43xx devices")

I consider this as a new feature, not a bugfix. So I'll remove the Fixes
line and the paragraph above it. Ok?

--
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

2020-05-27 12:41:08

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 2/2] b43_legacy: Fix connection problem with WPA3

Larry Finger <[email protected]> writes:

> Since the driver was first introduced into the kernel, it has only
> handled the ciphers associated with WEP, WPA, and WPA2. It fails with
> WPA3 even though mac80211 can handle those additional ciphers in software,
> b43legacy did not report that it could handle them. By setting MFP_CAPABLE using
> ieee80211_set_hw(), the problem is fixed.
>
> With this change, b43legacy will handle the ciohers it knows in hardare,
> and let mac80211 handle the others in software. It is not necessary to
> use the module parameter NOHWCRYPT to turn hardware encryption off.
> Although this change essentially eliminates that module parameter,
> I am choosing to keep it for cases where the hardware is broken,
> and software encryption is required for all ciphers.
>
> This patch fixes a problem that has been in b43legacy since commit
> 75388acd0cd8 ("[B43LEGACY]: add mac80211-based driver for legacy BCM43xx
> devices").
>
> Fixes: 75388acd0cd8 ("[B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices")
> Signed-off-by: Larry Finger <[email protected]>
> Cc: Stable <[email protected]>

I'll do the same changes here as in patch 1.

--
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

2020-05-27 14:58:31

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH 2/2] b43_legacy: Fix connection problem with WPA3

On 5/27/20 7:39 AM, Kalle Valo wrote:
> Larry Finger <[email protected]> writes:
>
>> Since the driver was first introduced into the kernel, it has only
>> handled the ciphers associated with WEP, WPA, and WPA2. It fails with
>> WPA3 even though mac80211 can handle those additional ciphers in software,
>> b43legacy did not report that it could handle them. By setting MFP_CAPABLE using
>> ieee80211_set_hw(), the problem is fixed.
>>
>> With this change, b43legacy will handle the ciohers it knows in hardare,
>> and let mac80211 handle the others in software. It is not necessary to
>> use the module parameter NOHWCRYPT to turn hardware encryption off.
>> Although this change essentially eliminates that module parameter,
>> I am choosing to keep it for cases where the hardware is broken,
>> and software encryption is required for all ciphers.
>>
>> This patch fixes a problem that has been in b43legacy since commit
>> 75388acd0cd8 ("[B43LEGACY]: add mac80211-based driver for legacy BCM43xx
>> devices").
>>
>> Fixes: 75388acd0cd8 ("[B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices")
>> Signed-off-by: Larry Finger <[email protected]>
>> Cc: Stable <[email protected]>
>
> I'll do the same changes here as in patch 1.
>

Yes, both are OK.

Larry

2020-05-27 19:15:13

by Sasha Levin

[permalink] [raw]
Subject: Re: [PATCH 2/2] b43_legacy: Fix connection problem with WPA3

Hi

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag
fixing commit: 75388acd0cd8 ("[B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices").

The bot has tested the following trees: v5.6.14, v5.4.42, v4.19.124, v4.14.181, v4.9.224, v4.4.224.

v5.6.14: Build OK!
v5.4.42: Build OK!
v4.19.124: Build OK!
v4.14.181: Build OK!
v4.9.224: Build OK!
v4.4.224: Failed to apply! Possible dependencies:
Unable to calculate


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

--
Thanks
Sasha

2020-05-27 19:15:15

by Sasha Levin

[permalink] [raw]
Subject: Re: [PATCH 1/2] b43: Fix connection problem with WPA3

Hi

[This is an automated email]

This commit has been processed because it contains a -stable tag.
The stable tag indicates that it's relevant for the following trees: all

The bot has tested the following trees: v5.6.14, v5.4.42, v4.19.124, v4.14.181, v4.9.224, v4.4.224.

v5.6.14: Build OK!
v5.4.42: Build OK!
v4.19.124: Build OK!
v4.14.181: Build OK!
v4.9.224: Build OK!
v4.4.224: Failed to apply! Possible dependencies:
Unable to calculate


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

--
Thanks
Sasha

2020-05-29 17:17:41

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 1/2] b43: Fix connection problem with WPA3

Larry Finger <[email protected]> wrote:

> Since the driver was first introduced into the kernel, it has only
> handled the ciphers associated with WEP, WPA, and WPA2. It fails with
> WPA3 even though mac80211 can handle those additional ciphers in software,
> b43 did not report that it could handle them. By setting MFP_CAPABLE using
> ieee80211_set_hw(), the problem is fixed.
>
> With this change, b43 will handle the ciphers it knows in hardware,
> and let mac80211 handle the others in software. It is not necessary to
> use the module parameter NOHWCRYPT to turn hardware encryption off.
> Although this change essentially eliminates that module parameter,
> I am choosing to keep it for cases where the hardware is broken,
> and software encryption is required for all ciphers.
>
> Reported-and-tested-by: Rui Salvaterra <[email protected]>
> Signed-off-by: Larry Finger <[email protected]>
> Cc: Stable <[email protected]>

2 patches applied to wireless-drivers-next.git, thanks.

75d057bda1fb b43: Fix connection problem with WPA3
6a29d134c04a b43_legacy: Fix connection problem with WPA3

--
https://patchwork.kernel.org/patch/11570765/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches