lkml.org 
[lkml]   [2012]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 3/3] pppoatm: protect against freeing of vcc
On Fri, Nov 30, 2012 at 04:23:46PM +0000, David Woodhouse wrote:
>
> +static void br2684_release_cb(struct atm_vcc *atmvcc)
> +{
> + struct br2684_vcc *brvcc = BR2684_VCC(atmvcc);
> +
> + /*
> + * A race with br2684_xmit_vcc() might cause a spurious wakeup just
> + * after that function *stops* the queue, and qspace might actually
> + * go negative before the queue stops again. We cope with that.
> + */

We cannot race with br2684_xmit_vcc() because both br2684_xmit_vcc()
and br2684_release_cb() are called with locked sk->sk_lock.slock.

> + if (atomic_read(&brvcc->qspace) > 0)
> + netif_wake_queue(brvcc->device);
> +
> + if (brvcc->old_release_cb)
> + brvcc->old_release_cb(atmvcc);
> +}

Except that comment, the patch looks good:

Acked-by: Krzysztof Mazur <krzysiek@podlesie.net>

Krzysiek


\
 
 \ /
  Last update: 2012-11-30 18:41    [W:0.084 / U:0.728 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site