On Wed, Apr 12, 2017 at 07:37:36PM +0300, Michael S. Tsirkin wrote:
> On Wed, Apr 12, 2017 at 05:08:23PM +0100, Stefan Hajnoczi wrote:
> > +int __vsock_remove_tap(struct vsock_tap *vt) {
> > + bool found = false;
> > + struct vsock_tap *tmp;
> > +
> > + spin_lock(&vsock_tap_lock);
> > +
> > + list_for_each_entry(tmp, &vsock_tap_all, list) {
> > + if (vt == tmp) {
> > + list_del_rcu(&vt->list);
> > + found = true;
> > + goto out;
> > + }
> > + }
> > +
> > + pr_warn("__vsock_remove_tap: %p not found\n", vt);
> > +out:
> > + spin_unlock(&vsock_tap_lock);
> > +
> > + if (found)
> > + module_put(vt->module);
>
> This is called before synchronize_net so there might
> still be users for this tap.Thanks, will fix.
signature.asc
Description: PGP signature
