VirtualBox

Changeset 60454 in vbox for trunk/src/VBox/Runtime/r0drv


Ignore:
Timestamp:
Apr 12, 2016 1:19:59 PM (9 years ago)
Author:
vboxsync
Message:

Runtime: Linux 4.6 fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c

    r60453 r60454  
    10451045         * Get user pages.
    10461046         */
    1047         rc = get_user_pages(pTask,                  /* Task for fault accounting. */
    1048                             pTask->mm,              /* Whose pages. */
    1049                             R3Ptr,                  /* Where from. */
    1050                             cPages,                 /* How many pages. */
    1051                             fWrite,                 /* Write to memory. */
    1052                             fWrite,                 /* force write access. */
    1053                             &pMemLnx->apPages[0],   /* Page array. */
    1054                             papVMAs);               /* vmas */
     1047#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
     1048        if (R0Process == RTR0ProcHandleSelf())
     1049#endif
     1050            rc = get_user_pages(R3Ptr,                  /* Where from. */
     1051                                cPages,                 /* How many pages. */
     1052                                fWrite,                 /* Write to memory. */
     1053                                fWrite,                 /* force write access. */
     1054                                &pMemLnx->apPages[0],   /* Page array. */
     1055                                papVMAs);               /* vmas */
     1056#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
     1057        else
     1058            rc = get_user_pages_remote(
     1059                                pTask,                  /* Task for fault accounting. */
     1060                                pTask->mm,              /* Whose pages. */
     1061                                R3Ptr,                  /* Where from. */
     1062                                cPages,                 /* How many pages. */
     1063                                fWrite,                 /* Write to memory. */
     1064                                fWrite,                 /* force write access. */
     1065                                &pMemLnx->apPages[0],   /* Page array. */
     1066                                papVMAs);               /* vmas */
     1067#endif
    10551068        if (rc == cPages)
    10561069        {
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