linux/drivers/net/wireless/brcm80211/brcmsmac
Brian Norris 1d240d3702 brcmsmac: don't leak kernel memory via printk()
Debug code prints the fifo name via custom dev_warn() wrappers. The
fifo_names array is only non-zero when debugging is manually enabled,
which is all well and good. However, it's *not* good that this array
uses zero-length arrays in the non-debug case, and so it doesn't
actually have any memory allocated to it. This means that as far as we
know, fifo_names[i] actually points to garbage memory.

I've seen this in my log:

[ 4601.205511] brcmsmac bcma0:1: wl0: brcms_c_d11hdrs_mac80211: �GeL txop exceeded phylen 137/256 dur 1602/1504

So let's give this array space enough to fill it with a NULL byte.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Cc: Brett Rudley <brudley@broadcom.com>
Cc: Arend van Spriel <arend@broadcom.com>
Cc: "Franky (Zhenhui) Lin" <frankyl@broadcom.com>
Cc: Hante Meuleman <meuleman@broadcom.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211-dev-list@broadcom.com
Cc: netdev@vger.kernel.org
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-12-15 13:46:20 -05:00
..
phy brcm80211: use container_of to resolve brcms_phy from brcms_phy_pub 2014-09-15 15:00:53 -04:00
Makefile brcm80211: simplify makefiles 2013-04-12 15:29:04 -04:00
aiutils.c brcmsmac: use bcma PCIe up and down functions 2013-08-26 14:09:03 -04:00
aiutils.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
ampdu.c brcmsmac: Further reduce log spam from tx phy messages 2013-07-22 16:54:41 -04:00
ampdu.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
antsel.c brcmsmac: Use debug macros for general error and debug statements 2012-11-20 14:06:16 -05:00
antsel.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
brcms_trace_events.c
brcms_trace_events.h brcmsmac: Add tracepoint for AMPDU session information 2012-11-20 14:08:06 -05:00
channel.c brcm80211: fix usage of freq_reg_info() 2013-12-05 14:54:49 -05:00
channel.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
d11.h brcmsmac: implement ieee80211_ops get_tsf and set_tsf 2013-03-27 13:37:33 -04:00
debug.c brcmsmac: extend hardware info shown in debugfs 2014-12-01 15:57:20 -05:00
debug.h brcmsmac: add copyright information for Canonical 2013-01-02 14:38:36 -05:00
dma.c brcm80211: use container_of to resolve dma_info from dma_pub 2014-09-15 15:00:53 -04:00
dma.h brcmsmac: Add brcms_dbg_dma() debug macro 2012-11-20 14:07:12 -05:00
led.c brcmsmac: radio on led support 2013-03-06 16:28:20 -05:00
led.h brcmsmac: radio on led support 2013-03-06 16:28:20 -05:00
mac80211_if.c mac80211: allow drivers to support NL80211_SCAN_FLAG_RANDOM_ADDR 2014-11-19 18:46:09 +01:00
mac80211_if.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
main.c brcmsmac: don't leak kernel memory via printk() 2014-12-15 13:46:20 -05:00
main.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
phy_shim.c brcmsmac: remove brcmsmac own sprom parsing 2012-05-16 12:45:23 -04:00
phy_shim.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
pmu.c brcmsmac: remove some pmu functions and use the bcma equivalents 2013-03-27 13:39:09 -04:00
pmu.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
pub.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
rate.c
rate.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
scb.h brcmsmac: remove dead code 2013-01-07 15:16:55 -05:00
stf.c brcmsmac: Add brcms_dbg_ht() debug macro 2012-11-20 14:07:25 -05:00
stf.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00
types.h brcm80211: Convert log message levels to debug levels 2012-11-20 14:05:37 -05:00
ucode_loader.c
ucode_loader.h brcm80211: Remove extern from function prototypes 2013-09-24 17:32:48 -07:00