[driver] abandoned upcalls dont delete security context

Deleting client's security context was causing kernel crashes.

During upcall, we remember a pointer to the client's security context,
then on close we delete the security context. Previously we would also
delete the context if the upcall was abandoned.

Apparently, windows will always send a close for the fcb that was used
for the abandoned upcall. Close deletes the context. Then when upcall
was done, it would try to delete the context again (oops).
This commit is contained in:
Olga Kornievskaia 2011-06-22 11:42:30 -04:00
parent c24c79f3cc
commit 9f2587c3b3

View file

@ -1423,7 +1423,6 @@ nfs41_downcall (
print_error("[downcall] Nobody is waiting for this request!!!\n"); print_error("[downcall] Nobody is waiting for this request!!!\n");
ExReleaseFastMutex(&cur->lock); ExReleaseFastMutex(&cur->lock);
nfs41_RemoveEntry(downcallLock, downcall, cur); nfs41_RemoveEntry(downcallLock, downcall, cur);
SeDeleteClientSecurity(cur->psec_ctx);
RxFreePool(cur); RxFreePool(cur);
status = STATUS_UNSUCCESSFUL; status = STATUS_UNSUCCESSFUL;
goto out_free; goto out_free;