Search Linux Wireless

Re: [PATCH v2] wifi: rtl8xxxu: Fix skb misuse in TX queue selection

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

 



On 07/09/2022 18:02, Jes Sorensen wrote:
> On 8/31/22 12:12, Bitterblue Smith wrote:
[...]
>> diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
>> index 52240e945b58..8d6f693bf60b 100644
>> --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
>> +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
>> @@ -5177,6 +5177,8 @@ static void rtl8xxxu_tx(struct ieee80211_hw *hw,
>>  	if (control && control->sta)
>>  		sta = control->sta;
>>  
>> +	queue = rtl8xxxu_queue_select(hw, skb);
>> +
>>  	tx_desc = skb_push(skb, tx_desc_size);
>>  
>>  	memset(tx_desc, 0, tx_desc_size);
>> @@ -5189,7 +5191,6 @@ static void rtl8xxxu_tx(struct ieee80211_hw *hw,
>>  	    is_broadcast_ether_addr(ieee80211_get_DA(hdr)))
>>  		tx_desc->txdw0 |= TXDESC_BROADMULTICAST;
>>  
>> -	queue = rtl8xxxu_queue_select(hw, skb);
>>  	tx_desc->txdw1 = cpu_to_le32(queue << TXDESC_QUEUE_SHIFT);
> 
> This could actually be made more resilient from someone moving the code
> around by passing in 'hdr' instead of relying on using skb->data in
> rtl8xxxu_queue_select(). We could also get rid of the hw argument to
> that function since it isn't used.
> 
> Cheers,
> Jes
> 

Good ideas! I'll do that when I'm done fiddling with the RTL8188FU.



[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