4 void MmSafeCopyToUserRestart();
5 void MmSafeCopyToUserUnsafeStart();
6 void MmSafeCopyFromUserUnsafeStart();
7 void MmSafeCopyFromUserRestart();
10 * NTSTATUS MmSafeCopyFromUser(PVOID Dest, PVOID Src,
11 * ULONG NumberOfBytes)
14 NTSTATUS
MmSafeCopyFromUser(PVOID Dest
, const VOID
*Src
, ULONG Count
)
34 jmp MmSafeCopyFromUserUnsafeStart
40 void MmSafeCopyFromUserUnsafeStart()
45 * This is really a synthetic instruction since if we incur a
46 * pagefault then eax will be set to an appropiate STATUS code
51 jmp MmSafeCopyFromUserRestart
56 void MmSafeCopyFromUserRestart()
69 /*****************************************************************************/
72 * NTSTATUS MmSafeCopyToUser(PVOID Dest, PVOID Src,
73 * ULONG NumberOfBytes)
75 NTSTATUS
MmSafeCopyToUser(PVOID Dest
, const VOID
*Src
, ULONG Count
)
95 jmp MmSafeCopyToUserUnsafeStart
100 void MmSafeCopyToUserUnsafeStart()
105 * This is really a synthetic instruction since if we incur a
106 * pagefault then eax will be set to an appropiate STATUS code
110 jmp MmSafeCopyToUserRestart
115 void MmSafeCopyToUserRestart()