+ return TRUE;
+}
+
+VOID
+NTAPI
+MmMakeKernelResourceSectionWritable(VOID)
+{
+ /* Don't do anything if the resource section is already writable */
+ if (MiKernelResourceStartPte == NULL || MiKernelResourceEndPte == NULL)
+ return;
+
+ /* If the resource section is physical, we cannot change its protection */
+ if (MI_IS_PHYSICAL_ADDRESS(MiPteToAddress(MiKernelResourceStartPte)))
+ return;
+
+ if (MmChangeKernelResourceSectionProtection(MM_READWRITE))
+ {
+ /*
+ * Invalidate the cached resource section PTEs
+ * so as to not change its protection again later.
+ */
+ MiKernelResourceStartPte = NULL;
+ MiKernelResourceEndPte = NULL;
+ }