VirtualBox

Ignore:
Timestamp:
Oct 10, 2014 11:39:15 PM (10 years ago)
Author:
vboxsync
Message:

SUP: Missing two FILE_SYNCHRONOUS_IO_NONALERT flags, one of which seems responsible for the occational BSOD 4E (9a,...).

Location:
trunk/src/VBox/HostDrivers/Support/win
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/win/SUPHardenedVerifyImage-win.cpp

    r53024 r53034  
    254254        }
    255255
     256/** @todo This nonsense is probably due to missing FILE_SYNCHRONOUS_IO_NONALERT
     257 *        flags in early code stage.  Should clean this up, but leave code
     258 *        for handling STATUS_PENDING as we don't know what callers of
     259 *        NtCreateSection might've been passing to their NtCreateFile calls.
     260 *        In ring-0, this code is mostly pointless, I think. */
    256261        /*
    257262         * Delay a little before we retry?
  • trunk/src/VBox/HostDrivers/Support/win/SUPHardenedVerifyProcess-win.cpp

    r53025 r53034  
    18181818                                 FILE_SHARE_READ,
    18191819                                 FILE_OPEN,
    1820                                  FILE_NON_DIRECTORY_FILE, /** @todo nonalert? */
     1820                                 FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT,
    18211821                                 NULL /*EaBuffer*/,
    18221822                                 0 /*EaLength*/);
  • trunk/src/VBox/HostDrivers/Support/win/SUPR3HardenedMain-win.cpp

    r53027 r53034  
    48484848                                 FILE_SHARE_READ,
    48494849                                 FILE_OPEN,
    4850                                  FILE_NON_DIRECTORY_FILE,
     4850                                 FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT,
    48514851                                 NULL /*EaBuffer*/,
    48524852                                 0 /*EaLength*/);
     
    53065306        InitializeObjectAttributes(&ObjAttr, &UniStrName, OBJ_CASE_INSENSITIVE, NULL /*hRootDir*/, NULL /*pSecDesc*/);
    53075307        rcNt = NtCreateFile(&hFile, GENERIC_READ, &ObjAttr, &Ios, NULL /* Allocation Size*/,  FILE_ATTRIBUTE_NORMAL,
    5308                             FILE_SHARE_READ, FILE_OPEN, FILE_NON_DIRECTORY_FILE, NULL /*EaBuffer*/, 0 /*EaLength*/);
     5308                            FILE_SHARE_READ, FILE_OPEN, FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT,
     5309                            NULL /*EaBuffer*/, 0 /*EaLength*/);
    53095310        if (NT_SUCCESS(rcNt) && NT_SUCCESS(Ios.Status))
    53105311        {
Note: See TracChangeset for help on using the changeset viewer.

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