Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp1725347pxy; Sun, 2 May 2021 00:22:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyu1d+XiwkCK6wYDSPI3ZEzkq+CNg+roWSzuHyIx8567Jy2zl7sbn5jZiZrzLqj4p5azCnK X-Received: by 2002:a63:ab05:: with SMTP id p5mr12552559pgf.149.1619940168086; Sun, 02 May 2021 00:22:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619940168; cv=none; d=google.com; s=arc-20160816; b=nXWDsErar9z6fyU8phDGU1QRtFpLphJIrDrXB7YwFX3DjUlsIYRaD74cMfvC2j7mvu jSdxBKmKasclEcZuqeHmTyDhvAoZJiBZ/WlN+otT84w15H/lGDmC5qSdUE6ENnimEp5m sN7MnlpnKBs7ETRZb2T/Ibg9FJ8yTo6hLruTZb3NwoJVTfthuyeg+4/m75cij3Ehu35W xfXHVJVI6vCgGfONX2gQ1D7K/5OpU1ST+4t/jF4eExbhSAZ7ebdjzQRk90x4vOhf78bl v7hE9MNhf3HKnepGZdGAMLecYmemV4wAfFm5yHVsDeyjyRyfO1aNI6L1+tfhzNzAfoqG zVKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=z82bRyqubiqg4KEH4Qmxppl3FPnPQCZRr6tdzDLR0+k=; b=WPnLBuGRzxcnlViTS56/S9JuJq45ZqhljhCDaMBhjq1LuvGpXKnVD0LetNiBscJwxp YPMjiWJcN4fu9P+AtKzopvG9IbrGolSIVeR7o50ifplBvNoogasqQl93FDfURi/ihD25 UZDIFAsLUiYFOnEC0gBQaBL3Em8EsVfn0fZoJdafsA/I3C+jKCJtEq5X2PcXkHWGb8KM ifyF/8hhhpAe19EvPvzTB/TRIQ1MSrssEEjAT9h3gODLckvpadfSxTlOrsZSEPAZJsfJ s5RKGiJryHvkpmuHk3MoQnUWVV3zO5Q6L+aqQlqqAzRKfRg/dF0GGQudb4jQW8WyhWCG E7PQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n3si7923545plf.63.2021.05.02.00.22.23; Sun, 02 May 2021 00:22:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229789AbhEBHWF (ORCPT + 99 others); Sun, 2 May 2021 03:22:05 -0400 Received: from smtp09.smtpout.orange.fr ([80.12.242.131]:39530 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229621AbhEBHWF (ORCPT ); Sun, 2 May 2021 03:22:05 -0400 Received: from localhost.localdomain ([86.243.172.93]) by mwinf5d84 with ME id zjMA2400F21Fzsu03jMAmL; Sun, 02 May 2021 09:21:11 +0200 X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sun, 02 May 2021 09:21:11 +0200 X-ME-IP: 86.243.172.93 From: Christophe JAILLET To: Larry.Finger@lwfinger.net, florian.c.schilhabel@googlemail.com, gregkh@linuxfoundation.org Cc: linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] staging: rtl8712: Fix some tests against some 'data' subtype frames Date: Sun, 2 May 2021 09:21:08 +0200 Message-Id: <44aebfa3c5ce8f45ae05369c73e9ff77c6d271f9.1619939806.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit 6e2baa44c6d1 ("staging: rtl8712: remove enum WIFI_FRAME_SUBTYPE") was wrong because: WIFI_DATA_NULL != IEEE80211_STYPE_NULLFUNC WIFI_DATA_CFACK != IEEE80211_STYPE_DATA_CFACK WIFI_DATA_CFPOLL != IEEE80211_STYPE_DATA_CFPOLL WIFI_DATA_CFACKPOLL != IEEE80211_STYPE_DATA_CFACKPOLL the WIFI_DATA_xxx definitions include WIFI_DATA_TYPE, which is 'BIT(3)'. Restore the previous behavior by adding the missing 'IEEE80211_FTYPE_DATA |' (0x0008, that is to say BIT(3)) when these values are used. Hopefully, the wrong commit was small enough and hand review is possible. Fixes: 6e2baa44c6d1 ("staging: rtl8712: remove enum WIFI_FRAME_SUBTYPE") Signed-off-by: Christophe JAILLET --- Apologies for the noise and for the wrong initial commit :( --- drivers/staging/rtl8712/rtl871x_recv.c | 2 +- drivers/staging/rtl8712/rtl871x_security.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/rtl8712/rtl871x_recv.c b/drivers/staging/rtl8712/rtl871x_recv.c index db2add576418..c23f6b376111 100644 --- a/drivers/staging/rtl8712/rtl871x_recv.c +++ b/drivers/staging/rtl8712/rtl871x_recv.c @@ -374,7 +374,7 @@ static sint ap2sta_data_frame(struct _adapter *adapter, if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) && check_fwstate(pmlmepriv, _FW_LINKED)) { /* if NULL-frame, drop packet */ - if ((GetFrameSubType(ptr)) == IEEE80211_STYPE_NULLFUNC) + if ((GetFrameSubType(ptr)) == (IEEE80211_FTYPE_DATA | IEEE80211_STYPE_NULLFUNC)) return _FAIL; /* drop QoS-SubType Data, including QoS NULL, * excluding QoS-Data diff --git a/drivers/staging/rtl8712/rtl871x_security.c b/drivers/staging/rtl8712/rtl871x_security.c index 63d63f7be481..e0a1c30a8fe6 100644 --- a/drivers/staging/rtl8712/rtl871x_security.c +++ b/drivers/staging/rtl8712/rtl871x_security.c @@ -1045,9 +1045,9 @@ static void aes_cipher(u8 *key, uint hdrlen, else a4_exists = 1; - if ((frtype == IEEE80211_STYPE_DATA_CFACK) || - (frtype == IEEE80211_STYPE_DATA_CFPOLL) || - (frtype == IEEE80211_STYPE_DATA_CFACKPOLL)) { + if ((frtype == (IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA_CFACK)) || + (frtype == (IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA_CFPOLL)) || + (frtype == (IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA_CFACKPOLL))) { qc_exists = 1; if (hdrlen != WLAN_HDR_A3_QOS_LEN) hdrlen += 2; @@ -1225,9 +1225,9 @@ static void aes_decipher(u8 *key, uint hdrlen, a4_exists = 0; else a4_exists = 1; - if ((frtype == IEEE80211_STYPE_DATA_CFACK) || - (frtype == IEEE80211_STYPE_DATA_CFPOLL) || - (frtype == IEEE80211_STYPE_DATA_CFACKPOLL)) { + if ((frtype == (IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA_CFACK)) || + (frtype == (IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA_CFPOLL)) || + (frtype == (IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA_CFACKPOLL))) { qc_exists = 1; if (hdrlen != WLAN_HDR_A3_QOS_LEN) hdrlen += 2; -- 2.30.2