linux/net/wireless
Arnd Bergmann 10f3366b4d wireless: fix bogus maybe-uninitialized warning
The hostap_80211_rx() function is supposed to set up the mac addresses
for four possible cases, based on two bits of input data. For
some reason, gcc decides that it's possible that none of the these
four cases apply and the addresses remain uninitialized:

drivers/net/wireless/intersil/hostap/hostap_80211_rx.c: In function ‘hostap_80211_rx’:
arch/x86/include/asm/string_32.h:77:14: warning: ‘src’ may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/net/wireless/intel/ipw2x00/libipw_rx.c: In function ‘libipw_rx’:
arch/x86/include/asm/string_32.h:77:14: error: ‘dst’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
arch/x86/include/asm/string_32.h:78:22: error: ‘*((void *)&dst+4)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

This warning is clearly nonsense, but changing the last case into
'default' makes it obvious to the compiler too, which avoids the
warning and probably leads to better object code too.

The same code is duplicated several times in the kernel, so this
patch uses the same workaround for all copies. The exact configuration
was hit only very rarely in randconfig builds and I only saw it
in three drivers, but I assume that all of them are potentially
affected, and it's better to keep the code consistent.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2016-11-17 08:46:38 +02:00
..
.gitignore
ap.c cfg80211: export interface stopping function 2014-05-06 15:16:34 +02:00
chan.c cfg80211: add start / stop NAN commands 2016-09-30 13:21:14 +02:00
core.c cfg80211: add add_nan_func / del_nan_func 2016-09-30 13:21:23 +02:00
core.h cfg80211: add start / stop NAN commands 2016-09-30 13:21:14 +02:00
db.txt
debugfs.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
debugfs.h
ethtool.c cfg80211: make ethtool the driver's responsibility 2014-06-23 11:05:33 +02:00
genregdb.awk wireless: fixup genregdb.awk for remove of antenna gain from wireless-regd 2014-07-21 12:24:20 +02:00
ibss.c cfg80211: Add support for static WEP in the driver 2016-09-30 13:19:10 +02:00
Kconfig cfg80211: Fix some linguistics in Kconfig 2016-02-24 09:04:23 +01:00
lib80211_crypt_ccmp.c lib80211: ratelimit key index mismatch 2015-12-04 14:43:32 +01:00
lib80211_crypt_tkip.c wireless: fix bogus maybe-uninitialized warning 2016-11-17 08:46:38 +02:00
lib80211_crypt_wep.c lib80211: Use skcipher and ahash 2016-01-27 20:36:03 +08:00
lib80211.c lib80211: remove unused print_ssid() 2014-10-14 02:18:27 +02:00
Makefile cfg80211: 802.11p OCB mode handling 2014-11-04 13:18:17 +01:00
mesh.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
mlme.c cfg80211: add start / stop NAN commands 2016-09-30 13:21:14 +02:00
nl80211.c Merge remote-tracking branch 'net-next/master' into mac80211-next 2016-10-04 09:46:44 +02:00
nl80211.h cfg80211: always notify userspace of new wireless netdevs 2016-08-11 16:51:41 +02:00
ocb.c cfg80211: ocb: Fix null pointer deref if join_ocb is unimplemented 2015-12-04 14:43:32 +01:00
radiotap.c cfg80211: add radiotap VHT info to rtap_namespace_sizes 2016-02-24 09:04:41 +01:00
rdev-ops.h cfg80211: allow the user space to change current NAN configuration 2016-09-30 13:21:28 +02:00
reg.c cfg80211: make wdev_list accessible to drivers 2016-05-12 11:16:40 +02:00
reg.h cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
regdb.h
scan.c cfg80211: add helper to find an IE that matches a byte-array 2016-09-16 14:49:52 +02:00
sme.c cfg80211: Add support for static WEP in the driver 2016-09-30 13:19:10 +02:00
sysfs.c cfg80211: remove unnecessary pointer-of 2016-09-15 16:46:20 +02:00
sysfs.h net: misc: Remove extern from function prototypes 2013-10-19 19:12:11 -04:00
trace.c cfg80211: add tracing to rdev-ops 2012-10-18 10:53:37 +02:00
trace.h cfg80211: allow the user space to change current NAN configuration 2016-09-30 13:21:28 +02:00
util.c cfg80211: add add_nan_func / del_nan_func 2016-09-30 13:21:23 +02:00
wext-compat.c cfg80211: Add support for static WEP in the driver 2016-09-30 13:19:10 +02:00
wext-compat.h cfg80211-wext: export symbols only when needed 2015-02-28 21:31:09 +01:00
wext-core.c Revert "wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel" 2016-08-08 08:49:50 +02:00
wext-priv.c
wext-proc.c net: proc: change proc_net_remove to remove_proc_entry 2013-02-18 14:53:08 -05:00
wext-sme.c cfg80211: Add support for static WEP in the driver 2016-09-30 13:19:10 +02:00
wext-spy.c