Revise sandboxes to allow additional IOKit property access
https://bugs.webkit.org/show_bug.cgi?id=185095
<rdar://problem/39809455>

Reviewed by Eric Carlson.

Update the WebContent and Plugin processes to allow additional IOKit property access.

* PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
* WebProcess/com.apple.WebProcess.sb.in:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@231135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index 542de02..20084f4 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,16 @@
+2018-04-28  Brent Fulgham  <bfulgham@apple.com>
+
+        Revise sandboxes to allow additional IOKit property access
+        https://bugs.webkit.org/show_bug.cgi?id=185095
+        <rdar://problem/39809455>
+
+        Reviewed by Eric Carlson.
+
+        Update the WebContent and Plugin processes to allow additional IOKit property access.
+
+        * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
+        * WebProcess/com.apple.WebProcess.sb.in:
+
 2018-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [GTK] WebProcess from WebKitGtk+ 2.19.92 SIGSEVs in WebCore::TextureMapperGL::~TextureMapperGL
diff --git a/Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in b/Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in
index 7fe8614..8ca9ff8 100644
--- a/Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in
+++ b/Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in
@@ -43,10 +43,10 @@
 
 (deny iokit-get-properties)
 (allow iokit-get-properties
-    (iokit-property-regex #"^AAPL,(DisplayPipe|boot-display|mux-switch-state)")
+    (iokit-property-regex #"^AAPL,(DisplayPipe|OpenCLdisabled|IOGraphics_LER(|_RegTag_1|_RegTag_0|_Busy_2)|alias-policy|boot-display|display-alias|mux-switch-state|ndrv-dev|primary-display|slot-name)")
     (iokit-property "AGCInfo")
-    (iokit-property-regex #"^ATY,fb_(linebytes|offset|size)")
-    (iokit-property "AccelCaps")
+    (iokit-property-regex #"^ATY,(cbits|fb_(linebytes|offset|size)|intrev)")
+    (iokit-property-regex #"^Accel(Caps|NativeDMARowByteAlignment)")
     (iokit-property "ActuationSupported")
     (iokit-property "AllowDisplaySleep")
     (iokit-property "AlwaysNeedsVelocityCalculated")
@@ -60,7 +60,10 @@
     (iokit-property "Endianness")
     (iokit-property "Family ID")
     (iokit-property "ForceSupported")
+    (iokit-property "GPUConfigurationVariable")
+    (iokit-property "GpuDebugPolicy")
     (iokit-property "HIDPointerAccelerationType")
+    (iokit-property-regex #"^IOAV(.*)(De|En)code$")
     (iokit-property-regex #"^IOAccel(DisplayPipeCapabilities|Index|Revision|Types)")
     (iokit-property-regex #"^IOAudioControl(ChannelID|ID|SubType|Usage)")
     (iokit-property-regex #"^IOAudioDevice(CanBeDefaults|TransportType)")
@@ -71,6 +74,7 @@
     (iokit-property-regex #"^IOAudioEngineNum(ActiveUserClients|SampleFramesPerBuffer)")
     (iokit-property "IOAudioSampleRate")
     (iokit-property "IOAudioStreamSampleFormatByteOrder")
+    (iokit-property "IOBacklightHandlerID")
     (iokit-property "IOClassNameOverride")
     (iokit-property "IOCFPlugInTypes")
     (iokit-property "IOClass")
@@ -82,19 +86,20 @@
     (iokit-property "IOFramebufferOpenGLIndex")
     (iokit-property "IOGeneralInterest")
     (iokit-property "IOGLBundleName")
-    (iokit-property "IOGVACodec")
-    (iokit-property "IOGVAVTCapabilities")
-    (iokit-property-regex #"^IOGVA(BGRAEnc|Codec|EncoderRestricted|Scaler)")
-    (iokit-property "IOI2CTransactionTypes")
+    (iokit-property-regex #"^IOGVA(BGRAEnc|Codec|EncoderRestricted|Scaler|VTCapabilities)")
     (iokit-property-regex "^IOGVA[A-Z]+(De|En)code")
+    (iokit-property "IOI2CTransactionTypes")
+    (iokit-property "IOKitDebug")
     (iokit-property "IOMACAddress") ;; For some Flash players
     (iokit-property "IOMatchCategory")
     (iokit-property-regex #"^IOName(Match|Matched)")
-    (iokit-property-regex #"^IOPCI(ClassMatch|Express(Capabilities|Link(Status|Capabilities))|PrimaryMatch|MSIMode|Resourced|Tunnelled)")
+    (iokit-property "IOOCDBundleName")
+    (iokit-property-regex #"^IOPCI((Class|Primary|Property|)Match|Express(Capabilities|Link(Status|Capabilities))|MSIMode|Resourced|Tunnelled)")
     (iokit-property "IOPMStrictTreeOrder")
     (iokit-property-regex #"^IOPlatform(SerialNumber|UUID)") ;; Ditto
     (iokit-property "IOPowerManagement")
     (iokit-property "IOProbeScore")
+    (iokit-property "IOPropertyMatch")
     (iokit-property "IOProviderClass")
     (iokit-property-regex #"^IOReport(Lures|Legend(|Public))")
     (iokit-property "IOScreenRestoreState")
@@ -105,11 +110,13 @@
     (iokit-property "MaintainPowerInUILock")
     (iokit-property "Max Packet Size")
     (iokit-property-regex #"^MetalPlugin(Name|ClassName)")
+    (iokit-property "MetalStatisticsName")
     (iokit-property-regex #"^Multitouch (ID|Serial Number|Subdevice ID)")
     (iokit-property "NXSystemInfo")
     (iokit-property "NoAutoRoute")
     (iokit-property-regex #"^PerformanceStatistics(|Accum)")
     (iokit-property "Protocol Characteristics")
+    (iokit-property "SafeEjectRequested")
     (iokit-property-regex #"^Sensor (Columns|Region (Descriptor|Param)|Rows|Surface (Descriptor|Height|Width))")
     (iokit-property "SupportAudioAUUC")
     (iokit-property "SurfaceList")
@@ -123,8 +130,10 @@
     (iokit-property "bcdVersion")
     (iokit-property "boot-gamma-restored")
     (iokit-property "built-in")
+    (iokit-property "cail_properties")
     (iokit-property "connector-type")
     (iokit-property "device-colors")
+    (iokit-property "dpm")
     (iokit-property "graphic-options")
     (iokit-property "idProduct")
     (iokit-property "idVendor")
diff --git a/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in b/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in
index dc9bc07..28a3a7a 100644
--- a/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in
+++ b/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in
@@ -182,7 +182,7 @@
 (deny iokit-get-properties)
 (allow iokit-get-properties
     (iokit-property "AGCInfo")
-    (iokit-property "AccelCaps")
+    (iokit-property-regex #"^Accel(Caps|NativeDMARowByteAlignment)")
     (iokit-property-regex #"^(Accurate|Extended)MaxDigitizerPressureValue")
     (iokit-property-regex #"^(Activation|Animation)Thresholds")
     (iokit-property "ActuationSupported")
@@ -190,7 +190,7 @@
     (iokit-property "AlwaysNeedsVelocityCalculated")
     (iokit-property-regex #"Apple(GVAKeyDoesNotExist|IntelMEVABundleName)")
     (iokit-property-regex #"^AAPL,(DisplayPipe|OpenCLdisabled|IOGraphics_LER(|_RegTag_1|_RegTag_0|_Busy_2)|alias-policy|boot-display|display-alias|mux-switch-state|ndrv-dev|primary-display|slot-name)")
-    (iokit-property-regex #"^ATY,fb_(linebytes|offset|size)")
+    (iokit-property-regex #"^ATY,(cbits|fb_(linebytes|offset|size)|intrev)")
     (iokit-property "BacklightHandle")
     (iokit-property "BlockSize")
     (iokit-property-regex #"^CEA(ModeID|PixelRepetition)")
@@ -207,6 +207,8 @@
     (iokit-property "Family ID")
     (iokit-property "ForceSupported")
     (iokit-property "Formats")
+    (iokit-property "GPUConfigurationVariable")
+    (iokit-property "GpuDebugPolicy")
     (iokit-property "HIDPointerAccelerationType")
     (iokit-property-regex #"^IOAccel(DisplayPipeCapabilities|Index|Types|Revision)")
     (iokit-property-regex #"^IO(Class|MatchCategory|NameMatch)")
@@ -239,20 +241,21 @@
     (iokit-property "IOFramebufferOpenGLIndex")
     (iokit-property "IOGeneralInterest")
     (iokit-property "IOGLBundleName")
+    (iokit-property-regex #"^IOGVA(BGRAEnc|Codec|EncoderRestricted|Scaler|VTCapabilities)")
+    (iokit-property-regex #"^IOGVA(.*)(De|En)code$")
     (iokit-property "IOHibernateState")
     (iokit-property "IOI2CTransactionTypes")
     (iokit-property-regex #"^IOInterrupt(Controllers|Specifiers)")
-    (iokit-property "IOGVAVTCapabilities")
-    (iokit-property-regex #"^IOGVA(BGRAEnc|Codec|EncoderRestricted|Scaler)")
-    (iokit-property-regex #"^IOGVA(.*)(De|En)code$")
+    (iokit-property "IOKitDebug")
     (iokit-property "IOMatchCategory")
     (iokit-property "IONDRVFramebufferGeneration")
     (iokit-property "IONVRAMProperty")
     (iokit-property-regex #"^IOName(|Match(|ed))")
+    (iokit-property "IOOCDBundleName")
     (iokit-property "IOPCITunnelled")
     (iokit-property "IOPMStrictTreeOrder")
     (iokit-property "IOParentMatch")
-    (iokit-property-regex #"^IOPCI(ClassMatch|Express(Capabilities|Link(Status|Capabilities))|PrimaryMatch|MSIMode|Resourced|Tunnelled)")
+    (iokit-property-regex #"^IOPCI((Class|Primary|Property|)Match|Express(Capabilities|Link(Status|Capabilities))|MSIMode|Resourced|Tunnelled)")
     (iokit-property "IOPMIsPowerManaged")
     (iokit-property-regex #"^IOPlatform(SerialNumber|UUID)")
     (iokit-property "IOPowerManagement")
@@ -310,11 +313,13 @@
     (iokit-property-regex #"^(board|device|revision|subsystem|vendor)-id")
     (iokit-property "boot-gamma-restored")
     (iokit-property "built-in")
+    (iokit-property "cail_properties")
     (iokit-property "class-code")
     (iokit-property "compatible")
     (iokit-property "connector-type")
     (iokit-property-regex #"^(device|revision|subsystem-vendor|touch-size)-id")
     (iokit-property "device_type")
+    (iokit-property "dpm")
     (iokit-property "graphic-options")
     (iokit-property "hda-gfx")
     (iokit-property-regex #"^id(Product|Vendor)")