Memory Manager: ensure safety of GPU to CPU address.

This commit is contained in:
Fernando Sahmkow 2022-04-02 22:38:58 +02:00
parent 5a568b1655
commit 7cfa28a666

View file

@ -193,6 +193,9 @@ void MemoryManager::Unmap(GPUVAddr gpu_addr, std::size_t size) {
} }
std::optional<VAddr> MemoryManager::GpuToCpuAddress(GPUVAddr gpu_addr) const { std::optional<VAddr> MemoryManager::GpuToCpuAddress(GPUVAddr gpu_addr) const {
if (gpu_addr >= address_space_size) [[unlikely]] {
return std::nullopt;
}
if (GetEntry<true>(gpu_addr) != EntryType::Mapped) [[unlikely]] { if (GetEntry<true>(gpu_addr) != EntryType::Mapped) [[unlikely]] {
if (GetEntry<false>(gpu_addr) != EntryType::Mapped) { if (GetEntry<false>(gpu_addr) != EntryType::Mapped) {
return std::nullopt; return std::nullopt;