| 1 | diff -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 | {
|
|---|