2016-03-30 10:08:33

by Wei-Ning Huang

[permalink] [raw]
Subject: [PATCH] CHROMIUM: mwifiex: fix NULL pointer dereference error

In mwifiex_enable_hs, we need to check if
priv->wdev.wiphy->wowlan_config is NULL before accessing it's member.
This sometimes cause kernel panic when suspend/resume.

Signed-off-by: Wei-Ning Huang <[email protected]>
---
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
index d5c56eb..d8de432 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
@@ -509,7 +509,8 @@ int mwifiex_enable_hs(struct mwifiex_adapter *adapter)

if (priv && priv->sched_scanning) {
#ifdef CONFIG_PM
- if (!priv->wdev.wiphy->wowlan_config->nd_config) {
+ if (priv->wdev.wiphy->wowlan_config &&
+ !priv->wdev.wiphy->wowlan_config->nd_config) {
#endif
mwifiex_dbg(adapter, CMD, "aborting bgscan!\n");
mwifiex_stop_bg_scan(priv);
--
2.1.2


2016-03-30 10:09:39

by Wei-Ning Huang

[permalink] [raw]
Subject: Re: [PATCH] CHROMIUM: mwifiex: fix NULL pointer dereference error

Sorry, please ignore this one. I forgot to strip the CHROMIUM: tag.

Wei-Ning

On Wed, Mar 30, 2016 at 6:08 PM, Wei-Ning Huang <[email protected]> wrote:
> In mwifiex_enable_hs, we need to check if
> priv->wdev.wiphy->wowlan_config is NULL before accessing it's member.
> This sometimes cause kernel panic when suspend/resume.
>
> Signed-off-by: Wei-Ning Huang <[email protected]>
> ---
> drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
> index d5c56eb..d8de432 100644
> --- a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
> +++ b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
> @@ -509,7 +509,8 @@ int mwifiex_enable_hs(struct mwifiex_adapter *adapter)
>
> if (priv && priv->sched_scanning) {
> #ifdef CONFIG_PM
> - if (!priv->wdev.wiphy->wowlan_config->nd_config) {
> + if (priv->wdev.wiphy->wowlan_config &&
> + !priv->wdev.wiphy->wowlan_config->nd_config) {
> #endif
> mwifiex_dbg(adapter, CMD, "aborting bgscan!\n");
> mwifiex_stop_bg_scan(priv);
> --
> 2.1.2
>



--
Wei-Ning Huang, 黃偉寧 | Software Engineer, Google Inc., Taiwan |
[email protected] | Cell: +886 910-380678