Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/xen/xen Check that xvif(4) is not already connected...
details: https://anonhg.NetBSD.org/src/rev/63dc1eb59fea
branches: trunk
changeset: 764475:63dc1eb59fea
user: jym <jym%NetBSD.org@localhost>
date: Mon Apr 25 00:14:06 2011 +0000
description:
Check that xvif(4) is not already connected before proceeding in the
XenbusStateConnected mode. Under rare occasions, the xenbus watcher
can fire multiple times, overwriting the I/O ring memory mappings with
invalid values. This will lead sooner or later to dom0 panic().
Will ask for pullup. FWIW, xbdback(4) is not affected.
diffstat:
sys/arch/xen/xen/xennetback_xenbus.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diffs (18 lines):
diff -r 45ed46221fcc -r 63dc1eb59fea sys/arch/xen/xen/xennetback_xenbus.c
--- a/sys/arch/xen/xen/xennetback_xenbus.c Mon Apr 25 00:00:50 2011 +0000
+++ b/sys/arch/xen/xen/xennetback_xenbus.c Mon Apr 25 00:14:06 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: xennetback_xenbus.c,v 1.42 2011/04/21 13:06:20 jym Exp $ */
+/* $NetBSD: xennetback_xenbus.c,v 1.43 2011/04/25 00:14:06 jym Exp $ */
/*
* Copyright (c) 2006 Manuel Bouyer.
@@ -445,6 +445,8 @@
break;
case XenbusStateConnected:
+ if (xneti->xni_status == CONNECTED)
+ break;
/* read comunication informations */
err = xenbus_read_ul(NULL, xbusd->xbusd_otherend,
"tx-ring-ref", &tx_ring_ref, 10);
Home |
Main Index |
Thread Index |
Old Index