[driver] fixing multiple mount bug
When the client has an existing mount but for a different security context and the new mount fails, don't free up the mount array for a given NetRoot.
This commit is contained in:
parent
90c1137f85
commit
88d6678f93
1 changed files with 2 additions and 1 deletions
|
|
@ -2963,7 +2963,8 @@ NTSTATUS nfs41_CreateVNetRoot(
|
||||||
status = nfs41_mount(&Config, pVNetRootContext->sec_flavor,
|
status = nfs41_mount(&Config, pVNetRootContext->sec_flavor,
|
||||||
&pVNetRootContext->session, &nfs41d_version);
|
&pVNetRootContext->session, &nfs41d_version);
|
||||||
if (status != STATUS_SUCCESS) {
|
if (status != STATUS_SUCCESS) {
|
||||||
if (!found_existing_mount) {
|
if (!found_existing_mount &&
|
||||||
|
IsListEmpty(&pNetRootContext->mounts->head)) {
|
||||||
RxFreePool(pNetRootContext->mounts);
|
RxFreePool(pNetRootContext->mounts);
|
||||||
pNetRootContext->mounts_init = FALSE;
|
pNetRootContext->mounts_init = FALSE;
|
||||||
pVNetRootContext->session = INVALID_HANDLE_VALUE;
|
pVNetRootContext->session = INVALID_HANDLE_VALUE;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue