[Pkg-virtualbox-commits] [SCM] virtualbox Debian packaging branch, master, updated. debian/4.1.18-dfsg-1
Felix Geyer
debfx-pkg at fobos.de
Thu Jun 21 15:31:10 UTC 2012
The following commit has been merged in the master branch:
commit b53c33340ced00c995371ab3d2c594ac409f70a9
Author: Felix Geyer <debfx-pkg at fobos.de>
Date: Thu Jun 21 11:13:49 2012 +0200
Drop 37-fix-unregister-netdevice.patch, fixed upstream.
diff --git a/debian/changelog b/debian/changelog
index 1cd194e..558c894 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ virtualbox (4.1.18-dfsg-1) UNRELEASED; urgency=low
* New upstream release.
- Fixes host freezes with 64-bit guests on 32-bit hosts. (LP: #1012627)
- Fixes odd permissions of files in shared folders. (LP: #1013368)
+ * Drop 37-fix-unregister-netdevice.patch, fixed upstream.
-- Felix Geyer <debfx-pkg at fobos.de> Thu, 21 Jun 2012 10:58:59 +0200
diff --git a/debian/patches/37-fix-unregister-netdevice.patch b/debian/patches/37-fix-unregister-netdevice.patch
deleted file mode 100644
index 67c0912..0000000
--- a/debian/patches/37-fix-unregister-netdevice.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-Description: fix dev unregistration issues on kernels 3.2.18 and newer
-Origin: backport, https://www.virtualbox.org/changeset/41548/vbox
-Bug: https://www.virtualbox.org/ticket/10624
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/1009156
-
---- a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
-+++ b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
-@@ -1536,4 +1536,6 @@
- pThis->u.s.PacketType.func = vboxNetFltLinuxPacketHandler;
- dev_add_pack(&pThis->u.s.PacketType);
-+ ASMAtomicUoWriteBool(&pThis->u.s.fPacketHandler, true);
-+ Log(("vboxNetFltLinuxAttachToInterface: this=%p: Packet handler installed.\n", pThis));
-
- #ifdef VBOXNETFLT_WITH_FILTER_HOST2GUEST_SKBS_EXPERIMENT
-@@ -1560,5 +1562,4 @@
- }
- RTSpinlockReleaseNoInts(pThis->hSpinlock, &Tmp);
-- Log(("vboxNetFltLinuxAttachToInterface: this=%p: Packet handler installed.\n", pThis));
-
- /*
-@@ -1604,4 +1605,5 @@
- static int vboxNetFltLinuxUnregisterDevice(PVBOXNETFLTINS pThis, struct net_device *pDev)
- {
-+ bool fRegistered;
- RTSPINLOCKTMP Tmp = RTSPINLOCKTMP_INITIALIZER;
-
-@@ -1610,24 +1612,35 @@
- #endif /* VBOXNETFLT_WITH_QDISC */
-
-+ if (ASMAtomicCmpXchgBool(&pThis->u.s.fPacketHandler, false, true))
-+ {
-+ dev_remove_pack(&pThis->u.s.PacketType);
-+ Log(("vboxNetFltLinuxUnregisterDevice: this=%p: packet handler removed.\n", pThis));
-+ }
-+
- RTSpinlockAcquireNoInts(pThis->hSpinlock, &Tmp);
-- ASMAtomicWriteBool(&pThis->u.s.fRegistered, false);
-- ASMAtomicWriteBool(&pThis->fDisconnectedFromHost, true);
-- ASMAtomicUoWriteNullPtr(&pThis->u.s.pDev);
-+ fRegistered = ASMAtomicXchgBool(&pThis->u.s.fRegistered, false);
-+ if (fRegistered)
-+ {
-+ ASMAtomicWriteBool(&pThis->fDisconnectedFromHost, true);
-+ ASMAtomicUoWriteNullPtr(&pThis->u.s.pDev);
-+ }
- RTSpinlockReleaseNoInts(pThis->hSpinlock, &Tmp);
-
-- dev_remove_pack(&pThis->u.s.PacketType);
-+ if (fRegistered)
-+ {
- #ifndef VBOXNETFLT_LINUX_NO_XMIT_QUEUE
-- skb_queue_purge(&pThis->u.s.XmitQueue);
--#endif
-- Log(("vboxNetFltLinuxUnregisterDevice: this=%p: Packet handler removed, xmit queue purged.\n", pThis));
-- Log(("vboxNetFltLinuxUnregisterDevice: Device %p(%s) released. ref=%d\n",
-- pDev, pDev->name,
-+ skb_queue_purge(&pThis->u.s.XmitQueue);
-+#endif
-+ Log(("vboxNetFltLinuxUnregisterDevice: this=%p: xmit queue purged.\n", pThis));
-+ Log(("vboxNetFltLinuxUnregisterDevice: Device %p(%s) released. ref=%d\n",
-+ pDev, pDev->name,
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
-- netdev_refcnt_read(pDev)
-+ netdev_refcnt_read(pDev)
- #else
-- atomic_read(&pDev->refcnt)
--#endif
-- ));
-- dev_put(pDev);
-+ atomic_read(&pDev->refcnt)
-+#endif
-+ ));
-+ dev_put(pDev);
-+ }
-
- return NOTIFY_OK;
-@@ -1870,5 +1883,9 @@
- * we don't want the handler to forward packets to disconnected switch.
- */
-- dev_remove_pack(&pThis->u.s.PacketType);
-+ if (ASMAtomicCmpXchgBool(&pThis->u.s.fPacketHandler, false, true))
-+ {
-+ dev_remove_pack(&pThis->u.s.PacketType);
-+ Log(("vboxNetFltOsDisconnectIt: this=%p: Packet handler removed.\n", pThis));
-+ }
- return VINF_SUCCESS;
- }
-@@ -1917,5 +1934,5 @@
- RTSpinlockAcquireNoInts(pThis->hSpinlock, &Tmp);
- pDev = ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *);
-- fRegistered = ASMAtomicUoReadBool(&pThis->u.s.fRegistered);
-+ fRegistered = ASMAtomicXchgBool(&pThis->u.s.fRegistered, false);
- RTSpinlockReleaseNoInts(pThis->hSpinlock, &Tmp);
-
-@@ -1927,5 +1944,5 @@
- skb_queue_purge(&pThis->u.s.XmitQueue);
- #endif
-- Log(("vboxNetFltOsDeleteInstance: this=%p: Packet handler removed, xmit queue purged.\n", pThis));
-+ Log(("vboxNetFltOsDeleteInstance: this=%p: xmit queue purged.\n", pThis));
- Log(("vboxNetFltOsDeleteInstance: Device %p(%s) released. ref=%d\n",
- pDev, pDev->name,
-@@ -1974,6 +1991,7 @@
- */
- ASMAtomicUoWriteNullPtr(&pThis->u.s.pDev);
-- pThis->u.s.fRegistered = false;
-+ pThis->u.s.fRegistered = false;
- pThis->u.s.fPromiscuousSet = false;
-+ pThis->u.s.fPacketHandler = false;
- memset(&pThis->u.s.PacketType, 0, sizeof(pThis->u.s.PacketType));
- #ifndef VBOXNETFLT_LINUX_NO_XMIT_QUEUE
---- a/src/VBox/HostDrivers/VBoxNetFlt/VBoxNetFltInternal.h
-+++ b/src/VBox/HostDrivers/VBoxNetFlt/VBoxNetFltInternal.h
-@@ -165,4 +165,6 @@
- /** Whether device exists and physically attached. */
- bool volatile fRegistered;
-+ /** Whether our packet handler is installed. */
-+ bool volatile fPacketHandler;
- /** The MAC address of the interface. */
- RTMAC MacAddr;
diff --git a/debian/patches/series b/debian/patches/series
index e05bc19..45f7025 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -14,4 +14,3 @@
32-disable-guest-version-check.patch
35-libvdeplug-soname.patch
36-fix-ftbfs-xserver-112.patch
-37-fix-unregister-netdevice.patch
--
virtualbox Debian packaging
More information about the Pkg-virtualbox-commits
mailing list