Search Linux Wireless

Re: [ath6kl:pending 12/32] drivers/net/wireless/ath/wil6210/txrx.c:341:25: warning: 'rtap' may be used uninitialized in this function

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

 



+ linux-wireless

kbuild test robot <lkp@xxxxxxxxx> writes:

> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git pending
> head:   6e56895b48f885973e44231cac5f3f39a7068d36
> commit: 18c7c63dcc54feb0e0438ff20b528ea3945d82e0 [12/32] wil6210: remove rtap_include_phy_info module param
> config: xtensa-allyesconfig (attached as .config)
> compiler: xtensa-linux-gcc (GCC) 8.2.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout 18c7c63dcc54feb0e0438ff20b528ea3945d82e0
>         # save the attached .config to linux build tree
>         GCC_VERSION=8.2.0 make.cross ARCH=xtensa 
>
> Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
> http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings
>
> All warnings (new ones prefixed by >>):
>
>    drivers/net/wireless/ath/wil6210/txrx.c: In function 'wil_vring_reap_rx':
>>> drivers/net/wireless/ath/wil6210/txrx.c:341:25: warning: 'rtap' may be used uninitialized in this function [-Wmaybe-uninitialized]
>      rtap->rthdr.it_version = PKTHDR_RADIOTAP_VERSION;
>    drivers/net/wireless/ath/wil6210/txrx.c:331:23: note: 'rtap' was declared here
>      struct wil6210_rtap *rtap;
>                           ^~~~
>
> vim +/rtap +341 drivers/net/wireless/ath/wil6210/txrx.c
>
>    304	
>    305	/**
>    306	 * Adds radiotap header
>    307	 *
>    308	 * Any error indicated as "Bad FCS"
>    309	 *
>    310	 * Vendor data for 04:ce:14-1 (Wilocity-1) consists of:
>    311	 *  - Rx descriptor: 32 bytes
>    312	 *  - Phy info
>    313	 */
>    314	static void wil_rx_add_radiotap_header(struct wil6210_priv *wil,
>    315					       struct sk_buff *skb)
>    316	{
>    317		struct wil6210_rtap {
>    318			struct ieee80211_radiotap_header rthdr;
>    319			/* fields should be in the order of bits in rthdr.it_present */
>    320			/* flags */
>    321			u8 flags;
>    322			/* channel */
>    323			__le16 chnl_freq __aligned(2);
>    324			__le16 chnl_flags;
>    325			/* MCS */
>    326			u8 mcs_present;
>    327			u8 mcs_flags;
>    328			u8 mcs_index;
>    329		} __packed;

This is an odd place to define a structure.

>    330		struct vring_rx_desc *d = wil_skb_rxdesc(skb);
>    331		struct wil6210_rtap *rtap;
>    332		int rtap_len = sizeof(struct wil6210_rtap);
>    333		struct ieee80211_channel *ch = wil->monitor_chandef.chan;
>    334	
>    335		if (skb_headroom(skb) < rtap_len &&
>    336		    pskb_expand_head(skb, rtap_len, 0, GFP_ATOMIC)) {
>    337			wil_err(wil, "Unable to expand headroom to %d\n", rtap_len);
>    338			return;
>    339		}
>    340	
>  > 341		rtap->rthdr.it_version = PKTHDR_RADIOTAP_VERSION;

Looks like a valid warning to me.

-- 
Kalle Valo



[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