Search Linux Wireless

Re: net: wireless: add brcm80211 drivers

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

 



On 05/13/2012 07:43 PM, Dan Carpenter wrote:
> Hi Arend,
> 
> This code is not really new, but I thought I would email you anyway
> because I know you are responsive.  :)

Dito ;-)

> The patch 5b435de0d786: "net: wireless: add brcm80211 drivers" from 
> Oct 5, 2011, leads to the following Smatch complaint:
> 
> drivers/net/wireless/brcm80211/brcmsmac/ampdu.c:741 brcms_c_sendampdu()
> 	 warn: variable dereferenced before check 'p' (see line 739)
> 
> drivers/net/wireless/brcm80211/brcmsmac/ampdu.c
>    733                  /*
>    734                   * check to see if the next pkt is
>    735                   * a candidate for aggregation
>    736                   */
>    737                  p = pktq_ppeek(&qi->q, prec);
>    738			/* tx_info must be checked with current p */
>    739			tx_info = IEEE80211_SKB_CB(p);
>                                   ^^^^^^^^^^^^^^^^
> "p" is dereferenced inside the call to IEEE80211_SKB_CB().
> 
>    740	
>    741			if (p) {
>                            ^^^
> Checked too late.
> 
>    742				if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) &&
>    743				    ((u8) (p->priority) == tid)) {
> 
> regards,
> dan carpenter
> 
> 

Thanks for running smatch. I will look in the current code base and fix
this. Just out of curiosity: Another static checker used regularly is
Coccinelle. What are the pros and cons of smatch compared to Coccinelle?

Gr. AvS

--
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