summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Andy McFadden <fadden@android.com> 2010-10-27 11:26:05 -0700
committer Andy McFadden <fadden@android.com> 2010-11-08 17:11:22 -0800
commitc10a4773ece6ca66ba9cfe4cd15e5987a02bee68 (patch)
treea17b54a5acedfb3aa3c394db03e5751cf48d3693
parent05cc2d635eba165098a8ff58678a2ef1db5ddd1a (diff)
Set capabilities sooner.
(cherry-pick from gingerbread I4e34b60c0a01b85ce0d80eb96ff3510604a68c71) Bug 3176774 Change-Id: I34d36b5b215ff0465f4f2f148c675f37ceba1a78
-rw-r--r--core/java/com/android/internal/os/ZygoteConnection.java13
-rw-r--r--core/java/com/android/internal/os/ZygoteInit.java16
2 files changed, 3 insertions, 26 deletions
diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java
index da0c5a225572..c473fd2a5e11 100644
--- a/core/java/com/android/internal/os/ZygoteConnection.java
+++ b/core/java/com/android/internal/os/ZygoteConnection.java
@@ -681,19 +681,6 @@ class ZygoteConnection {
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 b677b1e60489..99be931ee22d 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);
}