diff --git a/stratosphere/fs_mitm/source/fsmitm_main.cpp b/stratosphere/fs_mitm/source/fsmitm_main.cpp index 95f627d7a..d7dcf136b 100644 --- a/stratosphere/fs_mitm/source/fsmitm_main.cpp +++ b/stratosphere/fs_mitm/source/fsmitm_main.cpp @@ -78,7 +78,7 @@ void __appExit(void) { struct FsMitmManagerOptions { static const size_t PointerBufferSize = 0x800; - static const size_t MaxDomains = 0x10; + static const size_t MaxDomains = 0x40; static const size_t MaxDomainObjects = 0x4000; }; using FsMitmManager = WaitableManager; diff --git a/stratosphere/fs_mitm/source/fsmitm_service.hpp b/stratosphere/fs_mitm/source/fsmitm_service.hpp index 3d4c6e3f1..777782b46 100644 --- a/stratosphere/fs_mitm/source/fsmitm_service.hpp +++ b/stratosphere/fs_mitm/source/fsmitm_service.hpp @@ -33,16 +33,16 @@ class FsMitmService : public IMitmServiceObject { bool should_override_contents; public: FsMitmService(std::shared_ptr s, u64 pid) : IMitmServiceObject(s, pid) { - this->should_override_contents = !Utils::HasSdDisableMitMFlag(this->title_id) && Utils::HasOverrideButton(this->title_id); + if (Utils::HasSdDisableMitMFlag(this->title_id)) { + this->should_override_contents = false; + } else { + this->should_override_contents = (this->title_id >= 0x0100000000010000ULL || Utils::HasSdMitMFlag(this->title_id)) && Utils::HasOverrideButton(this->title_id); + } } static bool ShouldMitm(u64 pid, u64 tid) { - /* Always intercept NS, so that we can protect the boot partition. */ - if (tid == 0x010000000000001FULL) { - return true; - } - - return (tid >= 0x0100000000010000ULL || Utils::HasSdMitMFlag(tid)); + /* fs.mitm should always mitm everything. */ + return true; } static void PostProcess(IMitmServiceObject *obj, IpcResponseContext *ctx);