- diff --git a/daemon/nfs41_daemon.c b/daemon/nfs41_daemon.c
 - index 8f30607..87ecedb 100644
 - --- a/daemon/nfs41_daemon.c
 - +++ b/daemon/nfs41_daemon.c
 - @@ -125,6 +125,11 @@ out_map_default_ids:
 - goto out;
 - }
 - +static VOID apc_code(IN ULONG_PTR dwData)
 - +{
 - + DPRINTF(0, ("Hello from apc_code()!\n"));
 - +}
 - +
 - static unsigned int nfsd_worker_thread_main(void *args)
 - {
 - nfs41_daemon_globals *nfs41dg = (nfs41_daemon_globals *)args;
 - @@ -136,6 +141,10 @@ static unsigned int nfsd_worker_thread_main(void *args)
 - DWORD inbuf_len = UPCALL_BUF_SIZE, outbuf_len;
 - nfs41_upcall upcall;
 - +#if 1
 - + QueueUserAPC((PAPCFUNC)apc_code, GetCurrentThread(), (ULONG_PTR)args);
 - +#endif
 - +
 - pipe = CreateFileA(NFS41_USER_DEVICE_NAME_A, GENERIC_READ | GENERIC_WRITE,
 - FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
 - 0, NULL);
 - @@ -826,6 +835,10 @@ VOID ServiceStart(DWORD argc, LPTSTR *argv)
 - */
 - logprintf("nfsd is running.\n");
 - +#if 0
 - + QueueUserAPC((PAPCFUNC)apc_code, GetCurrentThread(), (ULONG_PTR)&nfs41_dg);
 - +#endif
 - +
 - #ifndef STANDALONE_NFSD
 - // report the status to the service control manager.
 - if (!ReportStatusToSCMgr(SERVICE_RUNNING, NO_ERROR, 0))
 
Code using |QueueUserAPC()| which triggers kernel crash in |nfs41_downcall()|
Posted by Anonymous on Wed 24th Jul 2024 12:46
raw | new post
modification of post by Anonymous (view diff)
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.
 nrubsig.kpaste.net RSS