VirtualBox

Ticket #12264: diff_unregister_netdev

File diff_unregister_netdev, 1.6 KB (added by Frank Mehnert, 9 years ago)
Line 
1diff -ur vboxhost-4.3.28/vboxnetflt/linux/VBoxNetFlt-linux.c vboxhost-4.3.29/vboxnetflt/linux/VBoxNetFlt-linux.c
2--- vboxhost-4.3.28/vboxnetflt/linux/VBoxNetFlt-linux.c 2015-02-24 19:12:04.000000000 +0100
3+++ vboxhost-4.3.29/vboxnetflt/linux/VBoxNetFlt-linux.c 2015-05-29 09:49:45.000000000 +0200
4@@ -1,4 +1,4 @@
5-/* $Id: VBoxNetFlt-linux.c 98569 2015-02-24 18:03:11Z fmehnert $ */
6+/* $Id: VBoxNetFlt-linux.c 100651 2015-05-28 10:00:55Z vushakov $ */
7 /** @file
8 * VBoxNetFlt - Network Filter Driver (Host), Linux Specific Code.
9 */
10@@ -1809,6 +1809,7 @@
11
12 {
13 PVBOXNETFLTINS pThis = VBOX_FLT_NB_TO_INST(self);
14+ struct net_device *pMyDev = ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *);
15 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
16 struct net_device *pDev = netdev_notifier_info_to_dev(ptr);
17 #else
18@@ -1817,7 +1818,8 @@
19 int rc = NOTIFY_OK;
20
21 Log(("VBoxNetFlt: got event %s(0x%lx) on %s, pDev=%p pThis=%p pThis->u.s.pDev=%p\n",
22- vboxNetFltLinuxGetNetDevEventName(ulEventType), ulEventType, pDev->name, pDev, pThis, ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *)));
23+ vboxNetFltLinuxGetNetDevEventName(ulEventType), ulEventType, pDev->name, pDev, pThis, pMyDev));
24+
25 if ( ulEventType == NETDEV_REGISTER
26 && !strcmp(pDev->name, pThis->szName))
27 {
28@@ -1825,8 +1827,7 @@
29 }
30 else
31 {
32- pDev = ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *);
33- if (pDev == ptr)
34+ if (pDev == pMyDev)
35 {
36 switch (ulEventType)
37 {

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy