From owner-freebsd-virtualization@FreeBSD.ORG Mon Mar 19 18:48:16 2012 Return-Path: Delivered-To: freebsd-virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CBA2B106566B; Mon, 19 Mar 2012 18:48:16 +0000 (UTC) (envelope-from to.my.trociny@gmail.com) Received: from mail-bk0-f54.google.com (mail-bk0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 29FA28FC08; Mon, 19 Mar 2012 18:48:15 +0000 (UTC) Received: by bkcjc3 with SMTP id jc3so6348227bkc.13 for ; Mon, 19 Mar 2012 11:48:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:sender:date:message-id:user-agent:mime-version :content-type; bh=jUkOOwZ9eG+FW4+AuD2YOfi1LylI1SPXFkCD7/AFgtY=; b=P9yfU57yBiTjns2w6Bvrf7wcYB5dUGQiIcwIoP9Xc1RMjUK8E5wJOROQvN+Jy1K67E qCs8P/CaH2X0O7y9segqQVS1AXpJup78qQgt1f97ww09DljugnPBUVOB4qo4xMsYxLhr 5nHZyVKgLBiZzR6W6oqyZ1UUf7IMJi/3P7JQ/9dJbP37Y3ubmlFjKunG9y584K/5OBAJ cRoWXRxuIhjN6r0KNxKzjc1esaAjsNfStFlarsG3+VvzCGkINHoycJ59ceJwj5QLArdq QTcPdBbWpoKqYBgLA+E22PqYYISSe5LF/LpsSIccnzub8/1BQnIqNDJg3WrgbV0A+y4i sfEQ== Received: by 10.204.151.86 with SMTP id b22mr5128332bkw.81.1332182895029; Mon, 19 Mar 2012 11:48:15 -0700 (PDT) Received: from localhost ([95.69.173.122]) by mx.google.com with ESMTPS id o7sm27395591bkw.16.2012.03.19.11.48.13 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 19 Mar 2012 11:48:14 -0700 (PDT) From: Mikolaj Golub To: freebsd-virtualization@freebsd.org, freebsd-emulation@freebsd.org Sender: Mikolaj Golub Date: Mon, 19 Mar 2012 20:48:11 +0200 Message-ID: <867gyg77h0.fsf@kopusha.home.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Cc: Subject: [patch] VirtualBox-4.0.14 + FreeBSD/CURRENT + VIMAGE: crash on vm shutdown X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Mar 2012 18:48:17 -0000 --=-=-= Hi, Here is a patch that fixes the issue I have been observing recently: running on VIMAGE enabled kernel VirtualBox causes the kernel crash when vm is powered off: ng_unref_node(8b156880,0,1,101,0,...) at ng_unref_node+0x74 ng_snd_item(8d060d40,0,8b0e18f0,0,0,...) at ng_snd_item+0x2a5 ng_send_fn(8b156880,0,8b0e18f0,0,0,...) at ng_send_fn+0x35 ng_rmnode_self(8b156880,89f840e0,8b0dbcc0,deec88cc,8b0d9ffa,...) at ng_rmnode_self+0x4a vboxNetFltOsDeleteInstance(89f84010,89f84014,89f84010,deec88ec,8b0da0f4,...) at vboxNetFltOsDeleteInstance+0x63 vboxNetFltRelease(89f84010,0,0,0,89f84014,...) at vboxNetFltRelease+0x6a vboxNetFltPortDisconnectAndRelease(89f84014,2710,87748bd4,87748bd4,deec8930,...) at vboxNetFltPortDisconnectAndRelease+0x64 _end(8b15ed10,89f84210,877456b0,0,deec8990,...) at 0x8cffe057 SUPR0ObjRelease(8b15ed10,89f4b810,deec89c8,deec89a0,0,...) at SUPR0ObjRelease+0x133 _end(8b15eb90,898a0e10,877456b0,0,89f4b810,...) at 0x8cffe4bb supdrvCleanupSession(8162bac0,89f4b810,89f4b810,deec89f4,8160e52f,...) at supdrvCleanupSession+0xef supdrvCloseSession(8162bac0,89f4b810,8ceecb18,deec8a18,8ceecaa0,...) at supdrvCloseSession+0x19 VBoxDrvFreeBSDClose(89ee6c00,3,2000,8adcc5c0,8adcc5c0,...) at VBoxDrvFreeBSDClose+0x2f devfs_close(deec8a78,8ceecaa0,80400,80f8caac,133,...) at devfs_close+0x2ca VOP_CLOSE_APV(81095960,deec8a78,80f8caac,133,2,...) at VOP_CLOSE_APV+0xda vn_close(8ceecaa0,3,8b24b380,8adcc5c0,80f792e0,...) at vn_close+0x190 vn_closefile(89f8cd58,8adcc5c0,0,89f8cd58,0,...) at vn_closefile+0xe4 devfs_close_f(89f8cd58,8adcc5c0,0,0,89f8cd58,...) at devfs_close_f+0x35 _fdrop(89f8cd58,8adcc5c0,0,deec8b80,0,8adcc670,81273398,810a7620,89e50c2c,79d,80f7401d,deec8b90,80a2f81e,89e50c2c,8,80f7401d,79d,0,89f8cd58) at _fdrop+0x43 closef(89f8cd58,8adcc5c0,79d,79a,8adcc670,...) at closef+0x2b0 fdfree(8adcc5c0,0,80f74dc6,107,deec8c18,...) at fdfree+0x3ea exit1(8adcc5c0,0,deec8d1c,80db7aee,8adcc5c0,...) at exit1+0x57a sys_sys_exit(8adcc5c0,deec8cec,80fd0bf8,80f53607,8adbf5c0,...) at sys_sys_exit+0x1d syscall(deec8d28) at syscall+0x2de Xint0x80_syscall() at Xint0x80_syscall+0x21 -- Mikolaj Golub --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=VBoxNetFlt-freebsd.c.VNET.patch --- VirtualBox-4.0.14_OSE/src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c.orig 2012-03-18 00:21:42.000000000 +0200 +++ VirtualBox-4.0.14_OSE/src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c 2012-03-18 00:22:18.000000000 +0200 @@ -651,13 +651,13 @@ bool vboxNetFltOsMaybeRediscovered(PVBOX ng_rmnode_self(pThis->u.s.node); pThis->u.s.node = NULL; } + VBOXCURVNET_RESTORE(); if (ifp0 != NULL) { vboxNetFltOsDeleteInstance(pThis); vboxNetFltOsInitInstance(pThis, NULL); } - VBOXCURVNET_RESTORE(); return !ASMAtomicUoReadBool(&pThis->fDisconnectedFromHost); } @@ -671,8 +671,10 @@ void vboxNetFltOsDeleteInstance(PVBOXNET mtx_destroy(&pThis->u.s.inq.ifq_mtx); mtx_destroy(&pThis->u.s.outq.ifq_mtx); + VBOXCURVNET_SET_FROM_UCRED(); if (pThis->u.s.node != NULL) ng_rmnode_self(pThis->u.s.node); + VBOXCURVNET_RESTORE(); pThis->u.s.node = NULL; } --=-=-=--