[driver] fixing possible app/driver/nfsd race

entry->filename points to something the app address space. if app was
started and the ctrl-ed c, then when nfsd picks up the upcall it should
check if the pointer is still valid
This commit is contained in:
Olga Kornievskaia 2012-03-16 15:01:58 -04:00
parent 863db2735b
commit c6ee60b362

View file

@ -558,10 +558,13 @@ NTSTATUS marshal_nfs41_header(
tmp += sizeof(HANDLE); tmp += sizeof(HANDLE);
#ifdef DEBUG_MARSHAL_HEADER #ifdef DEBUG_MARSHAL_HEADER
DbgP("[upcall header] xid=%lld opcode=%s filename=%wZ version=%d " if (MmIsAddressValid(entry->filename))
"session=0x%x open_state=0x%x\n", entry->xid, DbgP("[upcall header] xid=%lld opcode=%s filename=%wZ version=%d "
opcode2string(entry->opcode), entry->filename, "session=0x%x open_state=0x%x\n", entry->xid,
entry->version, entry->session, entry->open_state); opcode2string(entry->opcode), entry->filename,
entry->version, entry->session, entry->open_state);
else
status = STATUS_INTERNAL_ERROR;
#endif #endif
out: out:
return status; return status;