Title: [269751] trunk/Source/WebKit
- Revision
- 269751
- Author
- [email protected]
- Date
- 2020-11-12 14:12:21 -0800 (Thu, 12 Nov 2020)
Log Message
[iOS] IOKit sandbox violation when enabling all GPU runtime flags
https://bugs.webkit.org/show_bug.cgi?id=218820
<rdar://problem/71296116>
Reviewed by Brent Fulgham.
When enabling all GPU runtime flags on iOS, there is an iokit-open sandbox violation for the IOKit class AGXDeviceUserClient
in the WebContent process. When all GPU runtime flags are enabled, IOKit extensions are not provided to the WebContent process,
which should then fall back to a set of rules allowing use of these IOKit classes, with logging. There seems to be a problem
with the fallback for this specific IOKit class, which this patch addresses by adding an extra requirement to the rule. The
extra requirement is that IOKit extensions have not been provided for these IOKit classes.
* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (269750 => 269751)
--- trunk/Source/WebKit/ChangeLog 2020-11-12 22:10:48 UTC (rev 269750)
+++ trunk/Source/WebKit/ChangeLog 2020-11-12 22:12:21 UTC (rev 269751)
@@ -1,3 +1,19 @@
+2020-11-12 Per Arne Vollan <[email protected]>
+
+ [iOS] IOKit sandbox violation when enabling all GPU runtime flags
+ https://bugs.webkit.org/show_bug.cgi?id=218820
+ <rdar://problem/71296116>
+
+ Reviewed by Brent Fulgham.
+
+ When enabling all GPU runtime flags on iOS, there is an iokit-open sandbox violation for the IOKit class AGXDeviceUserClient
+ in the WebContent process. When all GPU runtime flags are enabled, IOKit extensions are not provided to the WebContent process,
+ which should then fall back to a set of rules allowing use of these IOKit classes, with logging. There seems to be a problem
+ with the fallback for this specific IOKit class, which this patch addresses by adding an extra requirement to the rule. The
+ extra requirement is that IOKit extensions have not been provided for these IOKit classes.
+
+ * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
+
2020-11-12 Chris Dumez <[email protected]>
[GPUProcess] Add basic GPUProcess crash handling for media playback
Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb (269750 => 269751)
--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2020-11-12 22:10:48 UTC (rev 269750)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb 2020-11-12 22:12:21 UTC (rev 269751)
@@ -472,18 +472,6 @@
(with-filter (system-attribute apple-internal)
(mobile-preferences-read "com.apple.PrototypeTools"))
-(allow iokit-open (with report) (with telemetry-backtrace)
- (iokit-user-client-class "IOMobileFramebufferUserClient")
- (iokit-user-client-class "AGXDeviceUserClient")
- (iokit-user-client-class "AppleJPEGDriverUserClient")
- (iokit-user-client-class "IOSurfaceAcceleratorClient")
- (iokit-user-client-class "IOSurfaceRootUserClient")
-)
-
-(allow iokit-open (with report) (with telemetry-backtrace)
- (iokit-connection "IOGPU")
-)
-
(with-elevated-precedence
(allow file-read*
(subpath "/usr/lib"
@@ -983,6 +971,27 @@
(global-name "com.apple.mobilegestalt.xpc")
)
+;; FIXME: This is just for logging. Remove when the GPU process is enabled by default.
+(allow iokit-open (with report) (with telemetry-backtrace)
+ (require-all
+ (require-not (extension "com.apple.webkit.extension.iokit"))
+ (iokit-user-client-class
+ "IOMobileFramebufferUserClient"
+ "AGXDeviceUserClient"
+ "AppleJPEGDriverUserClient"
+ "IOSurfaceAcceleratorClient"
+ "IOSurfaceRootUserClient"
+ )
+ )
+)
+
+(allow iokit-open (with report) (with telemetry-backtrace)
+ (require-all
+ (require-not (extension "com.apple.webkit.extension.iokit"))
+ (iokit-connection "IOGPU")
+ )
+)
+
(allow mach-lookup
(require-all
(extension "com.apple.webkit.extension.mach")
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes