[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:
parent
863db2735b
commit
c6ee60b362
1 changed files with 7 additions and 4 deletions
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue