diff options
| author | 2022-01-14 23:22:06 -0800 | |
|---|---|---|
| committer | 2022-01-22 01:33:26 -0800 | |
| commit | 2935c9d8dede082220b09b0084195bb78361d095 (patch) | |
| tree | bac9da9f14e3fb52d892b0cadf38d25ec570b80c /src | |
| parent | core: hle: kernel: KPageTable: Operate: Assert lock ownership. (diff) | |
| download | yuzu-2935c9d8dede082220b09b0084195bb78361d095.tar.gz yuzu-2935c9d8dede082220b09b0084195bb78361d095.tar.xz yuzu-2935c9d8dede082220b09b0084195bb78361d095.zip | |
core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr.
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/k_page_table.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_page_table.h b/src/core/hle/kernel/k_page_table.h index e57d225e6..60ae9b9e8 100644 --- a/src/core/hle/kernel/k_page_table.h +++ b/src/core/hle/kernel/k_page_table.h | |||
| @@ -248,7 +248,9 @@ public: | |||
| 248 | return !IsOutsideASLRRegion(address, size); | 248 | return !IsOutsideASLRRegion(address, size); |
| 249 | } | 249 | } |
| 250 | constexpr PAddr GetPhysicalAddr(VAddr addr) { | 250 | constexpr PAddr GetPhysicalAddr(VAddr addr) { |
| 251 | return page_table_impl.backing_addr[addr >> PageBits] + addr; | 251 | const auto backing_addr = page_table_impl.backing_addr[addr >> PageBits]; |
| 252 | ASSERT(backing_addr); | ||
| 253 | return backing_addr + addr; | ||
| 252 | } | 254 | } |
| 253 | constexpr bool Contains(VAddr addr) const { | 255 | constexpr bool Contains(VAddr addr) const { |
| 254 | return address_space_start <= addr && addr <= address_space_end - 1; | 256 | return address_space_start <= addr && addr <= address_space_end - 1; |