Search Linux Wireless

Re: [PATCH 00/18] mac80211 cleanups and fixes

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

 



On Thu, Sep 11, 2008 at 09:53:15AM -0700, Johannes Berg wrote:
> On Thu, 2008-09-11 at 09:50 -0700, Luis R. Rodriguez wrote:
> 
> > > I had actually tried
> > > (http://johannes.sipsolutions.net/patches/kernel/ath9k-sta-node.patch)
> > > but you're using refcounting for the nodes while mac80211 RCU-protects
> > > them, so I didn't get very far.
> > 
> > Good thing I read RCU docs yesterday.
> 
> Heh.
> 
> > We should be able to remove ref counts and simply use RCU and
> > sychronize_rcu() before deletion.
> 
> Well you don't get to control deletion then, that's another thing.

Does it matter? Our driver won't care as long as the entry still exists.
Just as with stale routing tables, does it matter if we keep thinking we
have a node for a few moments later?

> > > It needs a bit more effort to make sure
> > > you don't have node pointers stick around in some tx descriptor after
> > > mac80211 decides to remove a node (which may very well happen while
> > > frames are queued)
> > 
> > We can call_rcu() here no, and let the driver deal with what it needs to
> > prior to deletion?
> 
> The driver already gets notified via sta_notify() that the sta is about
> to be deleted, it must make sure that no matter what sort of references
> it kept, the sta will not be accessed after that sta_notify call.

Ah good point. Then what is the issue?

  Luis
--
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