2010-11-30 13:02:35

by Luciano Coelho

[permalink] [raw]
Subject: [PATCH] wl12xx: fix illegal memset if debugfs is not enabled

From: Luciano Coelho <[email protected]>

If we try to reset the debugfs statistics when debugfs is not configured in
the kernel, we're memset an illegal pointer, because it has never been
allocated. So check whether we have debugfs enabled by looking into the
wl->rootdir before trying to reset the fw_stats struct.

Reported-by: Joerie de Gram <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
---
drivers/net/wireless/wl12xx/debugfs.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/wl12xx/debugfs.c b/drivers/net/wireless/wl12xx/debugfs.c
index 2ac289e..8106a6c 100644
--- a/drivers/net/wireless/wl12xx/debugfs.c
+++ b/drivers/net/wireless/wl12xx/debugfs.c
@@ -414,6 +414,9 @@ err:

void wl1271_debugfs_reset(struct wl1271 *wl)
{
+ if (!wl->rootdir)
+ return;
+
memset(wl->stats.fw_stats, 0, sizeof(*wl->stats.fw_stats));
wl->stats.retry_count = 0;
wl->stats.excessive_retries = 0;
--
1.7.0.4



2010-12-02 14:37:01

by Luciano Coelho

[permalink] [raw]
Subject: Re: [PATCH] wl12xx: fix illegal memset if debugfs is not enabled

On Tue, 2010-11-30 at 15:03 +0200, [email protected] wrote:
> From: Luciano Coelho <[email protected]>
>
> If we try to reset the debugfs statistics when debugfs is not configured in
> the kernel, we're memset an illegal pointer, because it has never been
> allocated. So check whether we have debugfs enabled by looking into the
> wl->rootdir before trying to reset the fw_stats struct.
>
> Reported-by: Joerie de Gram <[email protected]>
> Signed-off-by: Luciano Coelho <[email protected]>
> ---

Applied and pushed to wl12xx.


--
Cheers,
Luca.