Kernel: Fix SharedMemory objects always returning error when addr = 0 (#2404)
Closes #2400
This commit is contained in:
parent
1c792389e6
commit
f0199a17f6
|
@ -897,7 +897,11 @@ static ResultCode CreateMemoryBlock(Kernel::Handle* out_handle, u32 addr, u32 si
|
||||||
return ResultCode(ErrorDescription::InvalidCombination, ErrorModule::OS,
|
return ResultCode(ErrorDescription::InvalidCombination, ErrorModule::OS,
|
||||||
ErrorSummary::InvalidArgument, ErrorLevel::Usage);
|
ErrorSummary::InvalidArgument, ErrorLevel::Usage);
|
||||||
|
|
||||||
if (addr < Memory::PROCESS_IMAGE_VADDR || addr + size > Memory::SHARED_MEMORY_VADDR_END) {
|
// TODO(Subv): Processes with memory type APPLICATION are not allowed
|
||||||
|
// to create memory blocks with addr = 0, any attempts to do so
|
||||||
|
// should return error 0xD92007EA.
|
||||||
|
if ((addr < Memory::PROCESS_IMAGE_VADDR || addr + size > Memory::SHARED_MEMORY_VADDR_END) &&
|
||||||
|
addr != 0) {
|
||||||
return ResultCode(ErrorDescription::InvalidAddress, ErrorModule::OS,
|
return ResultCode(ErrorDescription::InvalidAddress, ErrorModule::OS,
|
||||||
ErrorSummary::InvalidArgument, ErrorLevel::Usage);
|
ErrorSummary::InvalidArgument, ErrorLevel::Usage);
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue