if (dev->devobj) {
Status = dev_ioctl(dev->devobj, IOCTL_MOUNTDEV_QUERY_DEVICE_NA!
if (!NT_SUCCESS(Status) && Status != STATUS_BUFFER_OVERFLOW) {
ExReleaseResourceLite(&Vcb->tree_lock);
ERR("IOCTL_MOUNTDEV_QUERY_DEVICE_NAME returned %08lx\n", S!
[ When an error occurs we goto 'end': ]
goto end;
}
[...]
[ Skipping release of this lock: ]
ExReleaseResourceLite(&Vcb->tree_lock);
le = le->Flink;
}
Status = STATUS_SUCCESS;
end:
ExReleaseResourceLite(&global_loading_lock);
[ Leaving the function without releasing the lock: ]
[ btrfs/src/devctrl/c:query_filesystems ]
[ Lock acquired here: ]
[...]
[ When an error occurs we goto 'end': ]
[...]
[ Skipping release of this lock: ]
end: ExReleaseResourceLite(&global_loading_lock);
[ Leaving the function without releasing the lock: ]
}