VirtualBox

Ignore:
Timestamp:
Mar 4, 2019 10:00:34 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
129154
Message:

linux/vboxsf: Workaround for kernel_read/write calls (get_user_pages fails), fixing issue with sporadic ENOEXEC from execve(). The workaround requires rtR0MemObjLinuxVirtToPage() from memobj-r0drv-linux.c. Various cleanups and adjustments. bugref:9172

Location:
trunk/src/VBox/Runtime/r0drv/linux
Files:
2 edited

Legend:

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

    r77464 r77549  
    3939#include <iprt/string.h>
    4040#include "internal/memobj.h"
     41#include "internal/iprt.h"
    4142
    4243
     
    895896 * @param   pv      The kernel virtual address.
    896897 */
    897 static struct page *rtR0MemObjLinuxVirtToPage(void *pv)
     898RTDECL(struct page *) rtR0MemObjLinuxVirtToPage(void *pv)
    898899{
    899900    unsigned long   ulAddr = (unsigned long)pv;
     
    985986    return pte_page(u.Entry);
    986987}
     988RT_EXPORT_SYMBOL(rtR0MemObjLinuxVirtToPage);
    987989
    988990
  • trunk/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h

    r77417 r77549  
    461461DECLHIDDEN(void) rtR0LnxWorkqueueFlush(void);
    462462
     463/*
     464 * Memory hacks from memobj-r0drv-linux.c that shared folders need.
     465 */
     466RTDECL(struct page *) rtR0MemObjLinuxVirtToPage(void *pv);
     467
    463468
    464469#endif /* !IPRT_INCLUDED_SRC_r0drv_linux_the_linux_kernel_h */
Note: See TracChangeset for help on using the changeset viewer.

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