[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [NET] front: Fix crashes when xenstore watches fire multiple times.
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Node ID 79315be2c9b9d6c2ed06669ed733a21b22611b99 # Parent c3ff06093028962ffb64af4ef62693d6dc3525a2 [NET] front: Fix crashes when xenstore watches fire multiple times. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c | 4 ++++ linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c | 2 ++ 2 files changed, 6 insertions(+) diff -r c3ff06093028 -r 79315be2c9b9 linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Thu Dec 14 12:02:30 2006 +0000 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Thu Dec 14 12:21:28 2006 +0000 @@ -525,6 +525,8 @@ static void backend_changed(struct xenbu break; case XenbusStateInitWait: + if (dev->state != XenbusStateInitialising) + break; if (network_connect(netdev) != 0) break; xenbus_switch_state(dev, XenbusStateConnected); @@ -532,6 +534,8 @@ static void backend_changed(struct xenbu break; case XenbusStateClosing: + if (dev->state == XenbusStateClosed) + break; netfront_closing(dev); break; } diff -r c3ff06093028 -r 79315be2c9b9 linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Thu Dec 14 12:02:30 2006 +0000 +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Thu Dec 14 12:21:28 2006 +0000 @@ -487,6 +487,8 @@ int xenbus_probe_node(struct xen_bus_typ if (!xendev) return -ENOMEM; + xendev->state = XenbusStateInitialising; + /* Copy the strings into the extra space. */ tmpstring = (char *)(xendev + 1); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |