[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/2] xen-netback: cancel the credit timer when taking the vif down
On Thu, 2013-02-14 at 14:15 +0000, Jan Beulich wrote: > >>> On 14.02.13 at 14:53, Wei Liu <wei.liu2@xxxxxxxxxx> wrote: > > On Thu, 2013-02-14 at 13:18 +0000, David Vrabel wrote: > >> From: David Vrabel <david.vrabel@xxxxxxxxxx> > >> > >> If the credit timer is left armed after calling > >> xen_netbk_remove_xenvif(), then it may fire and attempt to schedule > >> the vif which will then oops as vif->netbk == NULL. > >> > >> This may happen both in the fatal error path and during normal > >> disconnection from the front end. > >> > >> The sequencing during shutdown is critical to ensure that: a) > >> vif->netbk doesn't become unexpectedly NULL; and b) the net device/vif > >> is not freed. > >> > >> 1. Mark as unschedulable (netif_carrier_off()). > >> 2. Synchronously cancel the timer. > >> 3. Remove the vif from the schedule list. > >> 4. Remove it from it netback thread group. > >> 5. Wait for vif->refcnt to become 0. > >> > >> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> > > > > You would need to reinitialize the timer in xenvif_up, given that user > > might `ifconfig vifX.X down; ifconfig vifX.X up`. > > Which gets us to another aspect of the original fix that I don't > think was considered: Is there anything preventing the interface > to be brought back up after fatal_tx_err() shut it down? > I don't think so. Code could / should not prevent host admin from doing anything he wants - even it is re-enabling a malicious vif. ;-) Wei. > Jan > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |