瀏覽代碼

Kernel: Panic on sys$get_stack_bounds() in stack-less process

Andreas Kling 4 年之前
父節點
當前提交
cc341c95aa
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      Kernel/Syscalls/get_stack_bounds.cpp

+ 2 - 2
Kernel/Syscalls/get_stack_bounds.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
  */
 
 
+#include <Kernel/Panic.h>
 #include <Kernel/Process.h>
 #include <Kernel/Process.h>
 #include <Kernel/VM/Region.h>
 #include <Kernel/VM/Region.h>
 
 
@@ -34,8 +35,7 @@ int Process::sys$get_stack_bounds(FlatPtr* user_stack_base, size_t* user_stack_s
     FlatPtr stack_pointer = Thread::current()->get_register_dump_from_stack().userspace_esp;
     FlatPtr stack_pointer = Thread::current()->get_register_dump_from_stack().userspace_esp;
     auto* stack_region = space().find_region_containing(Range { VirtualAddress(stack_pointer), 1 });
     auto* stack_region = space().find_region_containing(Range { VirtualAddress(stack_pointer), 1 });
     if (!stack_region) {
     if (!stack_region) {
-        ASSERT_NOT_REACHED();
-        return -EINVAL;
+        PANIC("sys$get_stack_bounds: No stack region found for process");
     }
     }
 
 
     FlatPtr stack_base = stack_region->range().base().get();
     FlatPtr stack_base = stack_region->range().base().get();