lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 22 Jul 2009 12:00:00 +1000
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	David Miller <davem@...emloft.net>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Johannes Berg <johannes@...solutions.net>,
	Christian Lamparter <chunkeey@....de>,
	"John W. Linville" <linville@...driver.com>
Subject: linux-next: manual merge of the net tree with the wireless-current
 tree

Hi David,

Today's linux-next merge of the net tree got a conflict in
net/wireless/scan.c between commit
9e81eccf199d910e5ea8db377a43478e4eccd033 ("cfg80211: double free in
__cfg80211_scan_done") from the wireless-current tree and commit
667503ddcb96f3b10211f997fe55907fa7509841 ("cfg80211: fix locking") from
the net tree.

Overlapping additions.  I fixed it up (I think - see below) and can carry
the fix as ncessary.
-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc net/wireless/scan.c
index 9271118,4f552c3..0000000
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@@ -35,8 -48,10 +48,8 @@@ void __cfg80211_scan_done(struct work_s
  	else
  		nl80211_send_scan_done(wiphy_to_dev(request->wiphy), dev);
  
 -	wiphy_to_dev(request->wiphy)->scan_req = NULL;
 -
  #ifdef CONFIG_WIRELESS_EXT
- 	if (!aborted) {
+ 	if (!request->aborted) {
  		memset(&wrqu, 0, sizeof(wrqu));
  
  		wireless_send_event(dev, SIOCGIWSCAN, &wrqu, NULL);
@@@ -46,9 -61,24 +59,25 @@@
  	dev_put(dev);
  
   out:
 +	wiphy_to_dev(request->wiphy)->scan_req = NULL;
+ 	cfg80211_unlock_rdev(rdev);
  	kfree(request);
  }
+ 
+ void cfg80211_scan_done(struct cfg80211_scan_request *request, bool aborted)
+ {
+ 	struct net_device *dev = dev_get_by_index(&init_net, request->ifidx);
+ 	if (WARN_ON(!dev)) {
+ 		kfree(request);
+ 		return;
+ 	}
+ 
+ 	WARN_ON(request != wiphy_to_dev(request->wiphy)->scan_req);
+ 
+ 	request->aborted = aborted;
+ 	schedule_work(&wiphy_to_dev(request->wiphy)->scan_done_wk);
+ 	dev_put(dev);
+ }
  EXPORT_SYMBOL(cfg80211_scan_done);
  
  static void bss_release(struct kref *ref)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ