Search Linux Wireless

RE: [EXT] Re: [PATCH v7 02/12] wifi: mwifiex: fixed group rekey issue for WPA3.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: Francesco Dolcini <francesco@xxxxxxxxxx>
> Sent: Friday, December 1, 2023 6:16 PM
> To: David Lin <yu-hao.lin@xxxxxxx>
> Cc: linux-wireless@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> briannorris@xxxxxxxxxxxx; kvalo@xxxxxxxxxx; francesco@xxxxxxxxxx; Pete
> Hsieh <tsung-hsien.hsieh@xxxxxxx>
> Subject: [EXT] Re: [PATCH v7 02/12] wifi: mwifiex: fixed group rekey issue for
> WPA3.
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
> 
> 
> On Tue, Nov 28, 2023 at 04:31:05PM +0800, David Lin wrote:
> > If host mlme is enabled, gropu rekey offload should be disabled.
> >
> > Signed-off-by: David Lin <yu-hao.lin@xxxxxxx>
> > ---
> >  drivers/net/wireless/marvell/mwifiex/cfg80211.c | 3 +++
> >  drivers/net/wireless/marvell/mwifiex/main.c     | 4 ++++
> >  drivers/net/wireless/marvell/mwifiex/util.c     | 7 +++++++
> >  3 files changed, 14 insertions(+)
> >
> > diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> > b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> > index 40c39e4765f7..3d59e6a441b9 100644
> > --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> > +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
> > @@ -3657,6 +3657,9 @@ static int mwifiex_set_rekey_data(struct wiphy
> *wiphy, struct net_device *dev,
> >       if (!ISSUPP_FIRMWARE_SUPPLICANT(priv->adapter->fw_cap_info))
> >               return -EOPNOTSUPP;
> >
> > +     if (priv->adapter->host_mlme)
> > +             return 0;
> 
> this is a fixup of the previous patch, you should not introduce an issue and
> fix it in the following patch. Please make it correct in the first place fixing up
> that patch.
>

This is the main fix for this issue. If host mlme is enabled, there is no need for firmware to do group rekey off load.
 
> 
> > +
> >       return mwifiex_send_cmd(priv,
> HostCmd_CMD_GTK_REKEY_OFFLOAD_CFG,
> >                               HostCmd_ACT_GEN_SET, 0, data,
> true);  }
> > diff --git a/drivers/net/wireless/marvell/mwifiex/main.c
> > b/drivers/net/wireless/marvell/mwifiex/main.c
> > index d99127dc466e..3bebb6c37604 100644
> > --- a/drivers/net/wireless/marvell/mwifiex/main.c
> > +++ b/drivers/net/wireless/marvell/mwifiex/main.c
> > @@ -802,6 +802,10 @@ mwifiex_bypass_tx_queue(struct mwifiex_private
> *priv,
> >                           "bypass txqueue; eth type %#x, mgmt
> %d\n",
> >                            ntohs(eth_hdr->h_proto),
> >                            mwifiex_is_skb_mgmt_frame(skb));
> > +             if (ntohs(eth_hdr->h_proto) == ETH_P_PAE)
> > +                     mwifiex_dbg(priv->adapter, MSG,
> > +                                 "key: send EAPOL to %pM\n",
> > +                                 eth_hdr->h_dest);
> 
> this is just debug code, at a first glance not sure i

It will be helpful for driver to print out authentication, association and EAPoL key handshaking.
This kind of information will only be printed out when station is associated to AP. It won't affect
TP of driver.

> > diff --git a/drivers/net/wireless/marvell/mwifiex/util.c
> > b/drivers/net/wireless/marvell/mwifiex/util.c
> > index 23675c1cecae..ff1b2f162c30 100644
> > --- a/drivers/net/wireless/marvell/mwifiex/util.c
> > +++ b/drivers/net/wireless/marvell/mwifiex/util.c
> > @@ -482,8 +482,15 @@ mwifiex_process_mgmt_packet(struct
> mwifiex_private *priv,
> >                               return 0;
> >
> >                       if
> > (ieee80211_is_deauth(ieee_hdr->frame_control)) {
> > +                             mwifiex_dbg(priv->adapter, MSG,
> > +                                         "auth: receive deauth
> from %pM\n",
> > +                                         ieee_hdr->addr3);
> ditto
> 
> >                               priv->auth_flag = 0;
> >                               priv->auth_alg = 0xFFFF;
> > +                     } else {
> > +                             mwifiex_dbg(priv->adapter, MSG,
> > +                                         "assoc: receive disasso
> from %pM\n",
> > +                                         ieee_hdr->addr3);
> ditto






[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux