From 9f44a44f2f6d55ccbc75f9f630c1fc9dd0174d47 Mon Sep 17 00:00:00 2001
From: bunnei <bunneidev@gmail.com>
Date: Mon, 10 May 2021 15:42:46 -0700
Subject: [PATCH] hle: ipc_helpers: Reserve session resource when we create a
 KSession.

---
 src/core/hle/ipc_helpers.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h
index d1eb8b075c..c76302dc9c 100644
--- a/src/core/hle/ipc_helpers.h
+++ b/src/core/hle/ipc_helpers.h
@@ -15,6 +15,8 @@
 #include "core/hle/ipc.h"
 #include "core/hle/kernel/hle_ipc.h"
 #include "core/hle/kernel/k_client_port.h"
+#include "core/hle/kernel/k_process.h"
+#include "core/hle/kernel/k_resource_limit.h"
 #include "core/hle/kernel/k_session.h"
 #include "core/hle/result.h"
 
@@ -148,6 +150,9 @@ public:
         if (context->Session()->IsDomain()) {
             context->AddDomainObject(std::move(iface));
         } else {
+            kernel.CurrentProcess()->GetResourceLimit()->Reserve(
+                Kernel::LimitableResource::Sessions, 1);
+
             auto* session = Kernel::KSession::Create(kernel);
             session->Initialize(nullptr, iface->GetServiceName());