Bug 1268470 - Part 1: Add BLOCK_WIN8_ONLY flag to dll blocklist. r=jimm, a=lizzard
authorJulien Cristau <jcristau@mozilla.com>
Fri, 08 Sep 2017 11:59:13 +0200
changeset 424049 72449a996b0a6f39bd5014651f86260d2d426254
parent 424048 0b5841c7c3992c2c0a43cb77b51b3fd04b63b7d6
child 424050 2ff31d388767a2815c6bd1df0d381dcc75b78c72
push id1517
push userjlorenzo@mozilla.com
push dateThu, 14 Sep 2017 16:50:54 +0000
treeherdermozilla-release@3b41fd564418 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjimm, lizzard
bugs1268470
milestone56.0
Bug 1268470 - Part 1: Add BLOCK_WIN8_ONLY flag to dll blocklist. r=jimm, a=lizzard MozReview-Commit-ID: 8ZhqDv4YMOn
mozglue/build/WindowsDllBlocklist.cpp
--- a/mozglue/build/WindowsDllBlocklist.cpp
+++ b/mozglue/build/WindowsDllBlocklist.cpp
@@ -68,16 +68,17 @@ struct DllBlockInfo {
   //
   // If the CHILD_PROCESSES_ONLY flag is set, then the dll is blocked
   // only when we are a child process.
   unsigned long long maxVersion;
 
   enum {
     FLAGS_DEFAULT = 0,
     BLOCK_WIN8PLUS_ONLY = 1,
+    BLOCK_WIN8_ONLY = 2,
     USE_TIMESTAMP = 4,
     CHILD_PROCESSES_ONLY = 8
   } flags;
 };
 
 static const DllBlockInfo sWindowsDllBlocklist[] = {
   // EXAMPLE:
   // { "uxtheme.dll", ALL_VERSIONS },
@@ -695,16 +696,21 @@ patched_LdrLoadDll (PWCHAR filePath, PUL
     printf_stderr("LdrLoadDll: info->name: '%s'\n", info->name);
 #endif
 
     if ((info->flags & DllBlockInfo::BLOCK_WIN8PLUS_ONLY) &&
         !IsWin8OrLater()) {
       goto continue_loading;
     }
 
+    if ((info->flags & DllBlockInfo::BLOCK_WIN8_ONLY) &&
+        (!IsWin8OrLater() || IsWin8Point1OrLater())) {
+      goto continue_loading;
+    }
+
     if ((info->flags & DllBlockInfo::CHILD_PROCESSES_ONLY) &&
         !(sInitFlags & eDllBlocklistInitFlagIsChildProcess)) {
       goto continue_loading;
     }
 
     unsigned long long fVersion = ALL_VERSIONS;
 
     if (info->maxVersion != ALL_VERSIONS) {