diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java index da0c5a2255729..c473fd2a5e115 100644 --- a/core/java/com/android/internal/os/ZygoteConnection.java +++ b/core/java/com/android/internal/os/ZygoteConnection.java @@ -680,19 +680,6 @@ class ZygoteConnection { FileDescriptor[] descriptors, PrintStream newStderr) throws ZygoteInit.MethodAndArgsCaller { - /* - * First, set the capabilities if necessary - */ - - if (parsedArgs.uid != 0) { - try { - ZygoteInit.setCapabilities(parsedArgs.permittedCapabilities, - parsedArgs.effectiveCapabilities); - } catch (IOException ex) { - Log.e(TAG, "Error setting capabilities", ex); - } - } - /* * Close the socket, unless we're in "peer wait" mode, in which * case it's used to track the liveness of this process. diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index b677b1e604898..99be931ee22db 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -508,18 +508,6 @@ public class ZygoteInit { private static void handleSystemServerProcess( ZygoteConnection.Arguments parsedArgs) throws ZygoteInit.MethodAndArgsCaller { - /* - * First, set the capabilities if necessary - */ - - if (parsedArgs.uid != 0) { - try { - setCapabilities(parsedArgs.permittedCapabilities, - parsedArgs.effectiveCapabilities); - } catch (IOException ex) { - Log.e(TAG, "Error setting capabilities", ex); - } - } closeServerSocket(); @@ -565,7 +553,9 @@ public class ZygoteInit { /* Request to fork the system server process */ pid = Zygote.forkSystemServer( parsedArgs.uid, parsedArgs.gid, - parsedArgs.gids, debugFlags, null); + parsedArgs.gids, debugFlags, null, + parsedArgs.permittedCapabilities, + parsedArgs.effectiveCapabilities); } catch (IllegalArgumentException ex) { throw new RuntimeException(ex); }