Subject: Re: [PATCH] brcmsmac: don't leak kernel memory via printk()

From: Arend van Spriel <[email-masked]>
Date: Wed, 10 Dec 2014 11:30:16 +0100

On 10-12-14 10:39, Brian Norris wrote:
> 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.
> 

+ Acked-by: Arend van Spriel <[email-masked]>
> Signed-off-by: Brian Norris <[email-masked]>
> Cc: Brett Rudley <[email-masked]>
- Cc: Arend van Spriel <[email-masked]>
> Cc: "Franky (Zhenhui) Lin" <[email-masked]>
> Cc: Hante Meuleman <[email-masked]>
> Cc: "John W. Linville" <[email-masked]>
> Cc: [email-masked]
> Cc: [email-masked]
> Cc: [email-masked]
> ---
>  drivers/net/wireless/brcm80211/brcmsmac/main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c
> index 1b474828d5b8..aed0c948dce8 100644
> --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
> +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
> @@ -316,7 +316,7 @@ static const u16 xmtfifo_sz[][NFIFO] = {
>  static const char * const fifo_names[] = {
>  	"AC_BK", "AC_BE", "AC_VI", "AC_VO", "BCMC", "ATIM" };
>  #else
> -static const char fifo_names[6][0];
> +static const char fifo_names[6][1];
>  #endif
>  
>  #ifdef DEBUG
>