Search Linux Wireless

Re: [PATCH] mac80211: fix race condition caused by late addBA resp

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

 



Hi,

>
>
>> +     del_timer_sync(&tid_tx->addba_resp_timer);
>> +
>> +     /*
>> +      * Test that we are not stopping agg session now.
>> +      * Since addba_resp_timer may have just finished we need to
>> +      * check HT_AGG_STATE_STOPPING too.
>> +      */
>> +     if (test_bit(HT_AGG_STATE_WANT_STOP, &tid_tx->state)
>> +         || test_bit(HT_AGG_STATE_STOPPING, &tid_tx->state)) {
>> +#ifdef CONFIG_MAC80211_HT_DEBUG
>> +             printk(KERN_DEBUG "got addBA resp for tid %d but we are not "
>> +                             "(or no longer) expecting expecting it\n",
>> +                     tid);
>> +#endif
>> +             goto out;
>> +     }
>> +
>>       if (mgmt->u.action.u.addba_resp.dialog_token != tid_tx->dialog_token) {
>>  #ifdef CONFIG_MAC80211_HT_DEBUG
>>               printk(KERN_DEBUG "wrong addBA response token, tid %d\n", tid);
>
> You can't do this -- if this happens and the dialog token is bad the
> session will linger forever since the timer is now dead.

   I'm not sure I understand what you mean by this and how my patch
affects dialog_token. I'd appreciate if you could explain this in some
detail.

>
> Also please move the bool operators to the end of the line rather than
> the start:
>        if (test_bit(...) ||
>            test_bit(...)) {
>
> Other than that the patch looks fine.

  I saw you have posted couple of newer versions of this. Shall I
still make this change and repost?

  Thanks!

-- 
Truthfully yours,
Martynov Nikolay.
Email: mar.kolya@xxxxxxxxx
--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux