[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