Search Linux Wireless

Re: [PATCH] mac80211: fix duplicate retransmission detection

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

 



On Thu, Jul 11, 2013 at 4:36 PM, Johannes Berg
<johannes@xxxxxxxxxxxxxxxx> wrote:
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index 23dbcfc..2c5a79b 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -936,8 +936,14 @@ ieee80211_rx_h_check(struct ieee80211_rx_data *rx)
>         struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data;
>         struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb);
>
> -       /* Drop duplicate 802.11 retransmissions (IEEE 802.11 Chap. 9.2.9) */
> -       if (rx->sta && !is_multicast_ether_addr(hdr->addr1)) {
> +       /*
> +        * Drop duplicate 802.11 retransmissions
> +        * (IEEE 802.11-2012: 9.3.2.10 "Duplicate detection and recovery")
> +        */
> +       if (rx->skb->len >= 24 && rx->sta &&

Shouldn't this check rx->skb first?
if (rx->sta && rx->sta->len >= 24 &&

-Jason

> +           !ieee80211_is_ctl(hdr->frame_control) &&
> +           !ieee80211_is_qos_nullfunc(hdr->frame_control) &&
> +           !is_multicast_ether_addr(hdr->addr1)) {
>                 if (unlikely(ieee80211_has_retry(hdr->frame_control) &&
>                              rx->sta->last_seq_ctrl[rx->seqno_idx] ==
>                              hdr->seq_ctrl)) {
> --
> 1.8.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




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

  Powered by Linux