[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140926.152127.303982560731423514.davem@davemloft.net>
Date: Fri, 26 Sep 2014 15:21:27 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: vyasevich@...il.com
Cc: netdev@...r.kernel.org, vyasevic@...hat.com, mst@...hat.com,
jasowang@...hat.com
Subject: Re: [PATCH] macvtap: Fix race between device delete and open.
From: Vladislav Yasevich <vyasevich@...il.com>
Date: Mon, 22 Sep 2014 16:34:17 -0400
> In macvtap device delete and open calls can race and
> this causes a list curruption of the vlan queue_list.
>
> The race intself is triggered by the idr accessors
> that located the vlan device. The device is stored
> into and removed from the idr under both an rtnl and
> a mutex. However, when attempting to locate the device
> in idr, only a mutex is taken. As a result, once cpu
> perfoming a delete may take an rtnl and wait for the mutex,
> while another cput doing an open() will take the idr
> mutex first to fetch the device pointer and later take
> an rtnl to add a queue for the device which may have
> just gotten deleted.
>
> With this patch, we now hold the rtnl for the duration
> of the macvtap_open() call thus making sure that
> open will not race with delete.
>
> CC: Michael S. Tsirkin <mst@...hat.com>
> CC: Jason Wang <jasowang@...hat.com>
> Signed-off-by: Vladislav Yasevich <vyasevic@...hat.com>
Applied and queued up for -stable, thanks!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists