Message ID | 1397059980-11942-4-git-send-email-Larry.Finger@lwfinger.net |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
On 04/09/2014 08:13 PM, Larry Finger wrote: > Zero-initializing ether_type masked that the ether type would never be > obtained for 8021x packets and the comparition against eapol_type > would always fail. > Reported-by: Jes Sorensen <Jes.Sorensen@redhat.com> > Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> > Cc: Stable <stable@vger.kernel.org> > --- > drivers/staging/rtl8712/rtl871x_recv.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > diff --git a/drivers/staging/rtl8712/rtl871x_recv.c b/drivers/staging/rtl8712/rtl871x_recv.c > index 23ec684..d8d1a76 100644 > --- a/drivers/staging/rtl8712/rtl871x_recv.c > +++ b/drivers/staging/rtl8712/rtl871x_recv.c [...] > @@ -262,16 +262,15 @@ union recv_frame *r8712_portctrl(struct _adapter *adapter, > psta_addr = pfhdr->attrib.ta; > psta = r8712_get_stainfo(pstapriv, psta_addr); > auth_alg = adapter->securitypriv.AuthAlgrthm; > - if (auth_alg == 2) { > + if (auth_alg == dot11AuthAlgrthm_8021X) { > + /* get ether_type */ > + ptr = ptr + pfhdr->attrib.hdrlen + LLC_HEADER_SIZE; Why not: ptr += pfhdr->attrib.hdrlen + LLC_HEADER_SIZE; WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 04/09/2014 11:25 AM, Sergei Shtylyov wrote: > On 04/09/2014 08:13 PM, Larry Finger wrote: > >> Zero-initializing ether_type masked that the ether type would never be >> obtained for 8021x packets and the comparition against eapol_type >> would always fail. > >> Reported-by: Jes Sorensen <Jes.Sorensen@redhat.com> >> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> >> Cc: Stable <stable@vger.kernel.org> >> --- >> drivers/staging/rtl8712/rtl871x_recv.c | 15 +++++++-------- >> 1 file changed, 7 insertions(+), 8 deletions(-) > >> diff --git a/drivers/staging/rtl8712/rtl871x_recv.c >> b/drivers/staging/rtl8712/rtl871x_recv.c >> index 23ec684..d8d1a76 100644 >> --- a/drivers/staging/rtl8712/rtl871x_recv.c >> +++ b/drivers/staging/rtl8712/rtl871x_recv.c > [...] >> @@ -262,16 +262,15 @@ union recv_frame *r8712_portctrl(struct _adapter *adapter, >> psta_addr = pfhdr->attrib.ta; >> psta = r8712_get_stainfo(pstapriv, psta_addr); >> auth_alg = adapter->securitypriv.AuthAlgrthm; >> - if (auth_alg == 2) { >> + if (auth_alg == dot11AuthAlgrthm_8021X) { >> + /* get ether_type */ >> + ptr = ptr + pfhdr->attrib.hdrlen + LLC_HEADER_SIZE; > > Why not: > > ptr += pfhdr->attrib.hdrlen + LLC_HEADER_SIZE; My comment is the same as the one I sent for patch 2. Larry -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Apr 09, 2014 at 11:13:00AM -0500, Larry Finger wrote: > Zero-initializing ether_type masked that the ether type would never be > obtained for 8021x packets and the comparition against eapol_type > would always fail. > > Reported-by: Jes Sorensen <Jes.Sorensen@redhat.com> > Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> > Cc: Stable <stable@vger.kernel.org> > --- > drivers/staging/rtl8712/rtl871x_recv.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) This breaks the build :( -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/staging/rtl8712/rtl871x_recv.c b/drivers/staging/rtl8712/rtl871x_recv.c index 23ec684..d8d1a76 100644 --- a/drivers/staging/rtl8712/rtl871x_recv.c +++ b/drivers/staging/rtl8712/rtl871x_recv.c @@ -254,7 +254,7 @@ union recv_frame *r8712_portctrl(struct _adapter *adapter, struct sta_info *psta; struct sta_priv *pstapriv; union recv_frame *prtnframe; - u16 ether_type = 0; + u16 ether_type; pstapriv = &adapter->stapriv; ptr = get_recvframe_data(precv_frame); @@ -262,16 +262,15 @@ union recv_frame *r8712_portctrl(struct _adapter *adapter, psta_addr = pfhdr->attrib.ta; psta = r8712_get_stainfo(pstapriv, psta_addr); auth_alg = adapter->securitypriv.AuthAlgrthm; - if (auth_alg == 2) { + if (auth_alg == dot11AuthAlgrthm_8021X) { + /* get ether_type */ + ptr = ptr + pfhdr->attrib.hdrlen + LLC_HEADER_SIZE; + memcpy(ðer_type, ptr, 2); + ether_type = ntohs((unsigned short)ether_type); + if ((psta != NULL) && (psta->ieee8021x_blocked)) { /* blocked * only accept EAPOL frame */ - prtnframe = precv_frame; - /*get ether_type */ - ptr = ptr + pfhdr->attrib.hdrlen + - pfhdr->attrib.iv_len + LLC_HEADER_SIZE; - memcpy(ðer_type, ptr, 2); - ether_type = ntohs((unsigned short)ether_type); if (ether_type == 0x888e) prtnframe = precv_frame; else {
Zero-initializing ether_type masked that the ether type would never be obtained for 8021x packets and the comparition against eapol_type would always fail. Reported-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@vger.kernel.org> --- drivers/staging/rtl8712/rtl871x_recv.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)