* Re: [ath6kl:pending 12/32] drivers/net/wireless/ath/wil6210/txrx.c:341:25: warning: 'rtap' may be used uninitialized in this function
[not found] <201902090225.xWQGRZWS%fengguang.wu@intel.com>
@ 2019-02-09 8:31 ` Kalle Valo
0 siblings, 0 replies; only message in thread
From: Kalle Valo @ 2019-02-09 8:31 UTC (permalink / raw)
To: kbuild test robot; +Cc: Maya Erez, kbuild-all, ath10k, linux-wireless
+ linux-wireless
kbuild test robot <lkp@intel.com> 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
^ permalink raw reply [flat|nested] only message in thread