BlOpenVolume() now correctly opens a Simple File System protocol
All checks were successful
ci/woodpecker/push/build Pipeline was successful

This commit is contained in:
Rafal Kupiec 2022-10-05 19:57:46 +02:00
parent 6a0a1eab23
commit 649974b733
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4

View File

@ -320,10 +320,6 @@ BlOpenVolume(IN PEFI_DEVICE_PATH_PROTOCOL DevicePath,
/* Failed to locate device path */ /* Failed to locate device path */
return Status; return Status;
} }
/* Open the filesystem protocol */
Status = EfiSystemTable->BootServices->OpenProtocol(*DiskHandle, &SFSGuid, (PVOID *)&FileSystemProtocol,
EfiImageHandle, NULL, EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL);
} }
else else
{ {
@ -337,18 +333,18 @@ BlOpenVolume(IN PEFI_DEVICE_PATH_PROTOCOL DevicePath,
} }
/* Store disk handle */ /* Store disk handle */
DiskHandle = ImageProtocol->DeviceHandle; *DiskHandle = ImageProtocol->DeviceHandle;
}
/* Open the filesystem protocol */ /* Open the filesystem protocol */
Status = EfiSystemTable->BootServices->OpenProtocol(DiskHandle, &SFSGuid, (PVOID *)&FileSystemProtocol, Status = EfiSystemTable->BootServices->OpenProtocol(*DiskHandle, &SFSGuid, (PVOID *)&FileSystemProtocol,
EfiImageHandle, NULL, EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL); EfiImageHandle, NULL, EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL);
}
/* Check if filesystem protocol opened successfully */ /* Check if filesystem protocol opened successfully */
if(Status != STATUS_EFI_SUCCESS) if(Status != STATUS_EFI_SUCCESS)
{ {
/* Failed to open the filesystem protocol, close volume */ /* Failed to open the filesystem protocol, close volume */
BlCloseVolume(DiskHandle); BlCloseVolume(*DiskHandle);
return Status; return Status;
} }
@ -357,7 +353,7 @@ BlOpenVolume(IN PEFI_DEVICE_PATH_PROTOCOL DevicePath,
if(Status != STATUS_EFI_SUCCESS) if(Status != STATUS_EFI_SUCCESS)
{ {
/* Failed to open the filesystem, close volume */ /* Failed to open the filesystem, close volume */
BlCloseVolume(DiskHandle); BlCloseVolume(*DiskHandle);
return Status; return Status;
} }