Changeset 52618 in vbox for trunk/src/VBox/HostDrivers/VBoxNetFlt
- Timestamp:
- Sep 5, 2014 12:07:29 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 95899
- Location:
- trunk/src/VBox/HostDrivers/VBoxNetFlt
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/VBoxNetFlt/VBoxNetFlt.c
r52394 r52618 5 5 6 6 /* 7 * Copyright (C) 2008-201 2Oracle Corporation7 * Copyright (C) 2008-2014 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 404 404 ASMAtomicWriteBool(&pThis->fRediscoveryPending, true); 405 405 406 RTSpinlockRelease NoInts(pThis->hSpinlock);406 RTSpinlockRelease(pThis->hSpinlock); 407 407 408 408 /* … … 517 517 if (enmOldTrunkState != enmState) 518 518 ASMAtomicWriteU32((uint32_t volatile *)&pThis->enmTrunkState, enmState); 519 RTSpinlockRelease NoInts(pThis->hSpinlock);519 RTSpinlockRelease(pThis->hSpinlock); 520 520 521 521 /* … … 622 622 RTSpinlockAcquire(pThis->hSpinlock); 623 623 vboxNetFltSetState(pThis, kVBoxNetFltInsState_Disconnecting); 624 RTSpinlockRelease NoInts(pThis->hSpinlock);624 RTSpinlockRelease(pThis->hSpinlock); 625 625 626 626 vboxNetFltOsDisconnectIt(pThis); … … 630 630 RTSpinlockAcquire(pThis->hSpinlock); 631 631 vboxNetFltSetState(pThis, kVBoxNetFltInsState_Unconnected); 632 RTSpinlockRelease NoInts(pThis->hSpinlock);632 RTSpinlockRelease(pThis->hSpinlock); 633 633 #endif 634 634 … … 850 850 AssertMsg(cRefs >= 1 && cRefs < UINT32_MAX / 2, ("%d\n", cRefs)); NOREF(cRefs); 851 851 } 852 RTSpinlockRelease NoInts(pThis->hSpinlock);852 RTSpinlockRelease(pThis->hSpinlock); 853 853 854 854 return fRc; … … 897 897 AssertMsg(cRefs >= 1 && cRefs < UINT32_MAX / 2, ("%d\n", cRefs)); NOREF(cRefs); 898 898 } 899 RTSpinlockRelease NoInts(pThis->hSpinlock);899 RTSpinlockRelease(pThis->hSpinlock); 900 900 901 901 return fRc; -
trunk/src/VBox/HostDrivers/VBoxNetFlt/darwin/VBoxNetFlt-darwin.cpp
r50762 r52618 319 319 ifnet_reference(pIfNet); 320 320 } 321 RTSpinlockRelease NoInts(pThis->hSpinlock);321 RTSpinlockRelease(pThis->hSpinlock); 322 322 323 323 return pIfNet; … … 749 749 ASMAtomicWriteBool(&pThis->fDisconnectedFromHost, true); 750 750 751 RTSpinlockRelease NoInts(pThis->hSpinlock);751 RTSpinlockRelease(pThis->hSpinlock); 752 752 753 753 if (pIfNet) … … 1031 1031 RTSpinlockAcquire(pThis->hSpinlock); 1032 1032 ASMAtomicUoWritePtr(&pThis->u.s.pIfNet, pIfNet); 1033 RTSpinlockRelease NoInts(pThis->hSpinlock);1033 RTSpinlockRelease(pThis->hSpinlock); 1034 1034 1035 1035 /* Adjust g_offIfNetPCount as it varies for different versions of xnu. */ … … 1069 1069 pIfNet = NULL; /* don't dereference it */ 1070 1070 } 1071 RTSpinlockRelease NoInts(pThis->hSpinlock);1071 RTSpinlockRelease(pThis->hSpinlock); 1072 1072 1073 1073 /* Report capabilities. */ … … 1290 1290 if (pIfFilter) 1291 1291 ASMAtomicUoWriteNullPtr(&pThis->u.s.pIfFilter); 1292 RTSpinlockRelease NoInts(pThis->hSpinlock);1292 RTSpinlockRelease(pThis->hSpinlock); 1293 1293 1294 1294 if (pIfFilter) -
trunk/src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c
r40912 r52618 609 609 TASK_INIT(&pThis->u.s.tskout, 0, vboxNetFltFreeBSDoutput, pThis); 610 610 611 RTSpinlockRelease NoInts(pThis->hSpinlock);611 RTSpinlockRelease(pThis->hSpinlock); 612 612 613 613 NG_NODE_SET_PRIVATE(node, pThis); -
trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
r47484 r52618 5 5 6 6 /* 7 * Copyright (C) 2006-201 3Oracle Corporation7 * Copyright (C) 2006-2014 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 406 406 ASMAtomicXchgPtr((void * volatile *)&pDev->hard_start_xmit, vboxNetFltLinuxStartXmitFilter); 407 407 # endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) */ 408 RTSpinlockRelease NoInts(pThis->hSpinlock);408 RTSpinlockRelease(pThis->hSpinlock); 409 409 } 410 410 … … 442 442 else 443 443 pOverride = NULL; 444 RTSpinlockRelease NoInts(pThis->hSpinlock);444 RTSpinlockRelease(pThis->hSpinlock); 445 445 446 446 if (pOverride) … … 1465 1465 fFeatures = 0; 1466 1466 1467 RTSpinlockRelease NoInts(pThis->hSpinlock);1467 RTSpinlockRelease(pThis->hSpinlock); 1468 1468 1469 1469 if (pThis->pSwitchPort) … … 1579 1579 RTSpinlockAcquire(pThis->hSpinlock); 1580 1580 ASMAtomicUoWritePtr(&pThis->u.s.pDev, pDev); 1581 RTSpinlockRelease NoInts(pThis->hSpinlock);1581 RTSpinlockRelease(pThis->hSpinlock); 1582 1582 1583 1583 Log(("vboxNetFltLinuxAttachToInterface: Device %p(%s) retained. ref=%d\n", … … 1629 1629 pDev = NULL; /* don't dereference it */ 1630 1630 } 1631 RTSpinlockRelease NoInts(pThis->hSpinlock);1631 RTSpinlockRelease(pThis->hSpinlock); 1632 1632 1633 1633 /* … … 1654 1654 RTSpinlockAcquire(pThis->hSpinlock); 1655 1655 ASMAtomicUoWriteNullPtr(&pThis->u.s.pDev); 1656 RTSpinlockRelease NoInts(pThis->hSpinlock);1656 RTSpinlockRelease(pThis->hSpinlock); 1657 1657 dev_put(pDev); 1658 1658 Log(("vboxNetFltLinuxAttachToInterface: Device %p(%s) released. ref=%d\n", … … 1693 1693 ASMAtomicUoWriteNullPtr(&pThis->u.s.pDev); 1694 1694 } 1695 RTSpinlockRelease NoInts(pThis->hSpinlock);1695 RTSpinlockRelease(pThis->hSpinlock); 1696 1696 1697 1697 if (fRegistered) … … 2028 2028 pDev = ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *); 2029 2029 fRegistered = ASMAtomicXchgBool(&pThis->u.s.fRegistered, false); 2030 RTSpinlockRelease NoInts(pThis->hSpinlock);2030 RTSpinlockRelease(pThis->hSpinlock); 2031 2031 2032 2032 if (fRegistered) -
trunk/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFlt-solaris.c
r50664 r52618 5 5 6 6 /* 7 * Copyright (C) 2008-201 2Oracle Corporation7 * Copyright (C) 2008-2014 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 1110 1110 const bool fActive = pThis->enmTrunkState == INTNETTRUNKIFSTATE_ACTIVE; 1111 1111 vboxNetFltRetain(pThis, true /* fBusy */); 1112 RTSpinlockRelease NoInts(pThis->hSpinlock);1112 RTSpinlockRelease(pThis->hSpinlock); 1113 1113 1114 1114 vboxnetflt_promisc_stream_t *pPromiscStream = (vboxnetflt_promisc_stream_t *)pStream; -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/drv/VBoxNetFltM-win.cpp
r44529 r52618 5 5 */ 6 6 /* 7 * Copyright (C) 2011-201 2Oracle Corporation7 * Copyright (C) 2011-2014 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 143 143 vboxNetFltWinSetOpState(&pNetFlt->u.s.WinIf.MpState, kVBoxNetDevOpState_Deinitializing); 144 144 145 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);145 RTSpinlockRelease(pNetFlt->hSpinlock); 146 146 147 147 vboxNetFltWinWaitDereference(&pNetFlt->u.s.WinIf.MpState); … … 518 518 || vboxNetFltWinGetPowerState(&pNetFlt->u.s.WinIf.MpState) > NdisDeviceStateD0) 519 519 { 520 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);520 RTSpinlockRelease(pNetFlt->hSpinlock); 521 521 *pStatus = NDIS_STATUS_FAILURE; 522 522 return 0; … … 527 527 { 528 528 pNetFlt->u.s.WinIf.StateFlags.fRequestInfo = VBOXNDISREQUEST_INPROGRESS | VBOXNDISREQUEST_QUEUED; 529 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);529 RTSpinlockRelease(pNetFlt->hSpinlock); 530 530 *pStatus = NDIS_STATUS_PENDING; 531 531 return VBOXNDISREQUEST_INPROGRESS | VBOXNDISREQUEST_QUEUED; … … 534 534 if (pNetFlt->u.s.WinIf.StateFlags.fStandBy) 535 535 { 536 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);536 RTSpinlockRelease(pNetFlt->hSpinlock); 537 537 *pStatus = NDIS_STATUS_FAILURE; 538 538 return 0; … … 541 541 pNetFlt->u.s.WinIf.StateFlags.fRequestInfo = VBOXNDISREQUEST_INPROGRESS; 542 542 543 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);543 RTSpinlockRelease(pNetFlt->hSpinlock); 544 544 545 545 *pStatus = NDIS_STATUS_SUCCESS; -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/drv/VBoxNetFltP-win.cpp
r44529 r52618 5 5 */ 6 6 /* 7 * Copyright (C) 2011-201 2Oracle Corporation7 * Copyright (C) 2011-2014 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 176 176 /* mark the request as InProgress before posting it to RequestComplete */ 177 177 pNetFlt->u.s.WinIf.StateFlags.fRequestInfo = VBOXNDISREQUEST_INPROGRESS; 178 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);178 RTSpinlockRelease(pNetFlt->hSpinlock); 179 179 vboxNetFltWinPtRequestComplete(pNetFlt, &pNetFlt->u.s.WinIf.PassDownRequest, NDIS_STATUS_FAILURE); 180 180 } 181 181 else 182 182 { 183 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);183 RTSpinlockRelease(pNetFlt->hSpinlock); 184 184 } 185 185 } … … 209 209 } 210 210 211 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);211 RTSpinlockRelease(pNetFlt->hSpinlock); 212 212 213 213 vboxNetFltWinPtRequestsWaitComplete(pNetFlt); … … 1401 1401 if (pNetFlt->u.s.WinIf.StateFlags.fInterfaceClosing) 1402 1402 { 1403 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);1403 RTSpinlockRelease(pNetFlt->hSpinlock); 1404 1404 Assert(0); 1405 1405 return false; … … 1407 1407 if (pNetFlt->u.s.WinIf.hBinding == NULL) 1408 1408 { 1409 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);1409 RTSpinlockRelease(pNetFlt->hSpinlock); 1410 1410 Assert(0); 1411 1411 return false; … … 1413 1413 1414 1414 pNetFlt->u.s.WinIf.StateFlags.fInterfaceClosing = TRUE; 1415 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);1415 RTSpinlockRelease(pNetFlt->hSpinlock); 1416 1416 1417 1417 NdisResetEvent(&pNetFlt->u.s.WinIf.OpenCloseEvent); … … 1444 1444 pNetFlt->u.s.WinIf.StateFlags.fStandBy = TRUE; 1445 1445 } 1446 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);1446 RTSpinlockRelease(pNetFlt->hSpinlock); 1447 1447 vboxNetFltWinPtRequestsWaitComplete(pNetFlt); 1448 1448 vboxNetFltWinWaitDereference(&pNetFlt->u.s.WinIf.MpState); … … 1469 1469 { 1470 1470 pNetFlt->u.s.WinIf.StateFlags.fRequestInfo = VBOXNDISREQUEST_INPROGRESS; 1471 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);1471 RTSpinlockRelease(pNetFlt->hSpinlock); 1472 1472 1473 1473 vboxNetFltWinMpRequestPost(pNetFlt); … … 1475 1475 else 1476 1476 { 1477 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);1477 RTSpinlockRelease(pNetFlt->hSpinlock); 1478 1478 } 1479 1479 } -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/drv/VBoxNetFltRt-win.cpp
r44529 r52618 5 5 */ 6 6 /* 7 * Copyright (C) 2011-201 2Oracle Corporation7 * Copyright (C) 2011-2014 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 1069 1069 pSG = pWorker->pSG; 1070 1070 pWorker->pSG = NULL; 1071 RTSpinlockRelease NoInts((pInstance)->hSpinlock);1071 RTSpinlockRelease((pInstance)->hSpinlock); 1072 1072 KeSetEvent(&pWorker->KillEvent, 0, FALSE); 1073 1073 … … 1083 1083 else 1084 1084 { 1085 RTSpinlockRelease NoInts((pInstance)->hSpinlock);1085 RTSpinlockRelease((pInstance)->hSpinlock); 1086 1086 } 1087 1087 } -
trunk/src/VBox/HostDrivers/VBoxNetFlt/win/drv/VBoxNetFltRt-win.h
r49137 r52618 5 5 */ 6 6 /* 7 * Copyright (C) 2011-201 2Oracle Corporation7 * Copyright (C) 2011-2014 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 594 594 #endif 595 595 { 596 RTSpinlockRelease NoInts((pNetFlt)->hSpinlock);596 RTSpinlockRelease((pNetFlt)->hSpinlock); 597 597 *pbNetFltActive = false; 598 598 return false; … … 602 602 { 603 603 vboxNetFltWinReferenceModePassThru(pNetFlt); 604 RTSpinlockRelease NoInts((pNetFlt)->hSpinlock);604 RTSpinlockRelease((pNetFlt)->hSpinlock); 605 605 *pbNetFltActive = false; 606 606 return true; … … 609 609 vboxNetFltRetain((pNetFlt), true /* fBusy */); 610 610 vboxNetFltWinReferenceModeNetFlt(pNetFlt); 611 RTSpinlockRelease NoInts((pNetFlt)->hSpinlock);611 RTSpinlockRelease((pNetFlt)->hSpinlock); 612 612 613 613 *pbNetFltActive = true; … … 633 633 #endif 634 634 { 635 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);635 RTSpinlockRelease(pNetFlt->hSpinlock); 636 636 *pbNetFltActive = false; 637 637 return false; … … 642 642 vboxNetFltWinIncReferenceModePassThru(pNetFlt, v); 643 643 644 RTSpinlockRelease NoInts((pNetFlt)->hSpinlock);644 RTSpinlockRelease((pNetFlt)->hSpinlock); 645 645 *pbNetFltActive = false; 646 646 return true; … … 651 651 vboxNetFltWinIncReferenceModeNetFlt(pNetFlt, v); 652 652 653 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);653 RTSpinlockRelease(pNetFlt->hSpinlock); 654 654 655 655 /* we have marked it as busy, so can do the res references outside the lock */ … … 715 715 #endif 716 716 { 717 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);717 RTSpinlockRelease(pNetFlt->hSpinlock); 718 718 return true; 719 719 } 720 720 721 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);721 RTSpinlockRelease(pNetFlt->hSpinlock); 722 722 return false; 723 723 } … … 732 732 #endif 733 733 { 734 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);734 RTSpinlockRelease(pNetFlt->hSpinlock); 735 735 return true; 736 736 } 737 737 738 RTSpinlockRelease NoInts(pNetFlt->hSpinlock);738 RTSpinlockRelease(pNetFlt->hSpinlock); 739 739 return false; 740 740 }
Note:
See TracChangeset
for help on using the changeset viewer.