Author: ion
Date: Fri Aug 30 19:54:44 2013
New Revision: 59909
URL:
http://svn.reactos.org/svn/reactos?rev=59909&view=rev
Log:
[NTOSKRNL]: Forcefully set IMAGE_DLLCHARACTERISTICS_NO_ISOLATION on all images. See
comment for more information. Windows' kernel32.dll now beautifully loads to the
ReactOS winlogon screen (which nobody should ever see -- it's being shown because
RtlDefaultNpAcl is not implemented in ReactOS, and thus all named pipes die (SCM, etc...)
Modified:
trunk/reactos/ntoskrnl/mm/section.c
Modified: trunk/reactos/ntoskrnl/mm/section.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/section.c?rev=…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/section.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/section.c [iso-8859-1] Fri Aug 30 19:54:44 2013
@@ -437,7 +437,22 @@
ImageSectionObject->ImageInformation.LoaderFlags =
piohOptHeader->LoaderFlags;
if (RTL_CONTAINS_FIELD(piohOptHeader, cbOptHeaderSize, DllCharacteristics))
+ {
ImageSectionObject->ImageInformation.DllCharacteristics =
piohOptHeader->DllCharacteristics;
+
+ /*
+ * Since we don't really implement SxS yet and LD doesn't supoprt
/ALLOWISOLATION:NO, hard-code
+ * this flag here, which will prevent the loader and other code from
doing any .manifest or SxS
+ * magic to any binary.
+ *
+ * This will break applications that depend on SxS when running with real
Windows Kernel32/SxS/etc
+ * but honestly that's not tested. It will also break them when
running no ReactOS once we implement
+ * the SxS support -- at which point, duh, this should be removed.
+ *
+ * But right now, any app depending on SxS is already broken anyway, so
this flag only helps.
+ */
+ ImageSectionObject->ImageInformation.DllCharacteristics |=
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION;
+ }
break;
}