[PATCH 20/25] wimax/i2400m: fix i2400m->wake_tx_skb handling

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

 



On Fri, Jan 04, 2013 at 03:19:55PM -0600, Dan Williams wrote:
> On Fri, 2012-12-21 at 17:57 -0800, Tejun Heo wrote:
> > i2400m_net_wake_tx() sets ->wake_tx_skb with the given skb if
> > ->wake_tx_ws is not pending; however, i2400m_wake_tx_work() could have
> > just started execution and haven't fetched -><wake_tx_skb yet.  The
> > previous packet will be leaked.
> > 
> > Update ->wake_tx_skb handling.
> > 
> > * i2400m_net_wake_tx() now tests whether the previous ->wake_tx_skb
> >   has been consumed by ->wake_tx_ws instead of testing work_pending().
> > 
> > * i2400m_net_wake_stop() is simplified similarly.  It always puts
> >   ->wake_tx_skb if non-NULL.
> > 
> > * Spurious ->wake_tx_skb dereference outside critical section dropped
> >   from i2400m_wake_tx_work().
> > 
> > Only compile tested.
> > 
> > Signed-off-by: Tejun Heo <tj at kernel.org>
> 
> Acked-by: Dan Williams <dcbw at redhat.com>
> 
> No regressions in a quick connection check to Clear and browsing a bunch
> of pages.

Applied to wq/for-3.9-cleanups.

Thanks!

-- 
tejun


[Index of Archives]     [Linux Kernel]     [Linux Wireless]     [Linux Bluetooth]     [Linux Netdev]     [Linux Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux