Search Linux Wireless

Re: [PATCH] softmac: Fix deadlock of wx_set_essid with assoc work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 07 August 2007 12:02:58 Michael Buesch wrote:
> The essid wireless extension does deadlock against the assoc mutex,
> as we don't unlock the assoc mutex.
> 
> Signed-off-by: Michael Buesch <mb@xxxxxxxxx>
> 
> --
> 
> This is included in John's wireless-2.6 tree.
> 
> This doesn't fix the whole issue completely, as we shouldn't
> flush the workqueue while we are holding the rtnl lock.
> But, it turns this bug from a "will 100% always deadlock" into
> a "it might deadlock" bug.
> A followup patch will come (if someone has some time to do so)
> to fix this crap code completely.
> 
> Index: bu3sch-wireless-dev/net/ieee80211/softmac/ieee80211softmac_wx.c
> ===================================================================
> --- bu3sch-wireless-dev.orig/net/ieee80211/softmac/ieee80211softmac_wx.c	2007-03-05 18:42:18.000000000 +0100
> +++ bu3sch-wireless-dev/net/ieee80211/softmac/ieee80211softmac_wx.c	2007-07-31 14:51:46.000000000 +0200
> @@ -98,9 +98,12 @@ ieee80211softmac_wx_set_essid(struct net
>  				cancel_delayed_work(&authptr->work);
>  			sm->associnfo.bssvalid = 0;
>  			sm->associnfo.bssfixed = 0;
> -			flush_scheduled_work();
>  			sm->associnfo.associating = 0;
>  			sm->associnfo.associated = 0;
> +			/* Unlock mutex, otherwise we deadlock with the assoc work handler. */
> +			mutex_unlock(&sm->associnfo.mutex);
> +			flush_scheduled_work();
> +			mutex_lock(&sm->associnfo.mutex);
>  		}
>  	}
>  
> 
> 

Whoops, no. I attached the wrong patch. Sorry!

-- 
Greetings Michael.
-
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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux