diff mbox

ath10k: remove NULL ptr deref in variable init of ath10k_monitor_vdev_start

Message ID 1438024935-3946-1-git-send-email-linville@tuxdriver.com (mailing list archive)
State Not Applicable
Delegated to: Kalle Valo
Headers show

Commit Message

John W. Linville July 27, 2015, 7:22 p.m. UTC
In ath10k_monitor_vdev_start, chandef is initialized to NULL and then
channel is immediately thereafter initialized to chandef->chan (i.e.
NULL->chan).  This appears to be some sort of cut-n-paste error, since
the same assignment is done later (i.e. after chandef has been properly
assigned to a non-NULL value).  So, let's just remove this "brown paper
bag" typo/thinko... :-)

Coverity CID #1309505

Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
 drivers/net/wireless/ath/ath10k/mac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vasanthakumar Thiagarajan July 28, 2015, 5:11 a.m. UTC | #1
On Tuesday 28 July 2015 12:52 AM, John W. Linville wrote:
> In ath10k_monitor_vdev_start, chandef is initialized to NULL and then
> channel is immediately thereafter initialized to chandef->chan (i.e.
> NULL->chan).  This appears to be some sort of cut-n-paste error, since
> the same assignment is done later (i.e. after chandef has been properly
> assigned to a non-NULL value).  So, let's just remove this "brown paper
> bag" typo/thinko... :-)
>
> Coverity CID #1309505
>
> Signed-off-by: John W. Linville <linville@tuxdriver.com>
> ---
>   drivers/net/wireless/ath/ath10k/mac.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index c9a7d5b5dffc..2823222dea92 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -836,7 +836,7 @@ static inline int ath10k_vdev_setup_sync(struct ath10k *ar)
>   static int ath10k_monitor_vdev_start(struct ath10k *ar, int vdev_id)
>   {
>   	struct cfg80211_chan_def *chandef = NULL;
> -	struct ieee80211_channel *channel = chandef->chan;
> +	struct ieee80211_channel *channel;
>   	struct wmi_vdev_start_request_arg arg = {};
>   	int ret = 0;
>

There is a similar change integrated recently, 
https://github.com/kvalo/ath/commit/19be9e9a7ac7e6050eab426283d2a87593cf6e82 .

Vasanth


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
John W. Linville July 28, 2015, 2:31 p.m. UTC | #2
On Tue, Jul 28, 2015 at 10:41:11AM +0530, Vasanthakumar Thiagarajan wrote:
> On Tuesday 28 July 2015 12:52 AM, John W. Linville wrote:
> >In ath10k_monitor_vdev_start, chandef is initialized to NULL and then
> >channel is immediately thereafter initialized to chandef->chan (i.e.
> >NULL->chan).  This appears to be some sort of cut-n-paste error, since
> >the same assignment is done later (i.e. after chandef has been properly
> >assigned to a non-NULL value).  So, let's just remove this "brown paper
> >bag" typo/thinko... :-)
> >
> >Coverity CID #1309505
> >
> >Signed-off-by: John W. Linville <linville@tuxdriver.com>
> >---
> >  drivers/net/wireless/ath/ath10k/mac.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> >index c9a7d5b5dffc..2823222dea92 100644
> >--- a/drivers/net/wireless/ath/ath10k/mac.c
> >+++ b/drivers/net/wireless/ath/ath10k/mac.c
> >@@ -836,7 +836,7 @@ static inline int ath10k_vdev_setup_sync(struct ath10k *ar)
> >  static int ath10k_monitor_vdev_start(struct ath10k *ar, int vdev_id)
> >  {
> >  	struct cfg80211_chan_def *chandef = NULL;
> >-	struct ieee80211_channel *channel = chandef->chan;
> >+	struct ieee80211_channel *channel;
> >  	struct wmi_vdev_start_request_arg arg = {};
> >  	int ret = 0;
> >
> 
> There is a similar change integrated recently,
> https://github.com/kvalo/ath/commit/19be9e9a7ac7e6050eab426283d2a87593cf6e82

OK.  I don't see much point in the NULL assignment for channel, but the main
point is to avoide the chandef->chan part.

John
Kalle Valo July 28, 2015, 4:23 p.m. UTC | #3
"John W. Linville" <linville@tuxdriver.com> writes:

> On Tue, Jul 28, 2015 at 10:41:11AM +0530, Vasanthakumar Thiagarajan wrote:
>> On Tuesday 28 July 2015 12:52 AM, John W. Linville wrote:
>> >In ath10k_monitor_vdev_start, chandef is initialized to NULL and then
>> >channel is immediately thereafter initialized to chandef->chan (i.e.
>> >NULL->chan).  This appears to be some sort of cut-n-paste error, since
>> >the same assignment is done later (i.e. after chandef has been properly
>> >assigned to a non-NULL value).  So, let's just remove this "brown paper
>> >bag" typo/thinko... :-)
>> >
>> >Coverity CID #1309505
>> >
>> >Signed-off-by: John W. Linville <linville@tuxdriver.com>

[...]

>> There is a similar change integrated recently,
>> https://github.com/kvalo/ath/commit/19be9e9a7ac7e6050eab426283d2a87593cf6e82
>
> OK.  I don't see much point in the NULL assignment for channel, but the main
> point is to avoide the chandef->chan part.

Yeah, that was an oversight in my review. Want to send a patch to fix
that? :)
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index c9a7d5b5dffc..2823222dea92 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -836,7 +836,7 @@  static inline int ath10k_vdev_setup_sync(struct ath10k *ar)
 static int ath10k_monitor_vdev_start(struct ath10k *ar, int vdev_id)
 {
 	struct cfg80211_chan_def *chandef = NULL;
-	struct ieee80211_channel *channel = chandef->chan;
+	struct ieee80211_channel *channel;
 	struct wmi_vdev_start_request_arg arg = {};
 	int ret = 0;