On Tue, May 25, 2010 at 10:11 AM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Tue, 2010-05-25 at 01:07 -0400, Joker Joker wrote: >> Below is a patch to fix monitor mode channel issue for aircrack-ng suit >> (fixed channel mon0: -1) >> >> diff --git a/net/wireless/chan.c b/net/wireless/chan.c >> index d92d088..93f6c19 100644 >> --- a/net/wireless/chan.c >> +++ b/net/wireless/chan.c >> @@ -48,6 +48,7 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, >> enum nl80211_channel_type channel_type) >> { >> struct ieee80211_channel *chan; >> + struct wireless_dev *old_wdev = wdev; >> int result; >> >> if (wdev->iftype == NL80211_IFTYPE_MONITOR) >> @@ -73,8 +74,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev, >> if (result) >> return result; >> >> - if (wdev) >> - wdev->channel = chan; >> + wdev = old_wdev; >> + wdev->channel = chan; > > NACK. That will crash when there really is no interface being passed in. > > johannes > > -- > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Well, the original version already dereferences wdev in "if (wdev->iftype...", so the crash is nothing new if it exists. -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html