summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Stefani <luca.stefani.ge1@gmail.com>2016-11-10 22:07:59 +0100
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-11-17 11:32:17 -0800
commit7a9c884f482fed0a105a61e61c4881dfd5657985 (patch)
tree9f25386975003a8a4b588d84abfd9c0807bb5b0f
parentfe0a5eeffe3209677c50e82d3137cce293253977 (diff)
downloadframeworks_base-7a9c884f482fed0a105a61e61c4881dfd5657985.zip
frameworks_base-7a9c884f482fed0a105a61e61c4881dfd5657985.tar.gz
frameworks_base-7a9c884f482fed0a105a61e61c4881dfd5657985.tar.bz2
zygote: Allow device to append extra whitelisted paths
Change-Id: Ic5b056d7ead520da8648db9be28e16a81ec27c73
-rw-r--r--core/jni/fd_utils-inl-extra.h29
-rw-r--r--core/jni/fd_utils-inl.h7
2 files changed, 35 insertions, 1 deletions
diff --git a/core/jni/fd_utils-inl-extra.h b/core/jni/fd_utils-inl-extra.h
new file mode 100644
index 0000000..993c320
--- /dev/null
+++ b/core/jni/fd_utils-inl-extra.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2016 The CyanogenMod Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+#define PATH_WHITELIST_EXTRA_H \
+ "/proc/apid", \
+ "/proc/aprf",
+*/
+
+// Overload this file in your device specific config if you need
+// to add extra whitelisted paths.
+// WARNING: Only use this if necessary. Custom inits should be
+// checked for leaked file descriptors before even considering
+// this.
+// In order to add your files, copy the whole file (don't forget the copyright notice!),
+// uncomment the #define above and change the paths inside to match your requirements \ No newline at end of file
diff --git a/core/jni/fd_utils-inl.h b/core/jni/fd_utils-inl.h
index 41c005d..f245a7f 100644
--- a/core/jni/fd_utils-inl.h
+++ b/core/jni/fd_utils-inl.h
@@ -35,6 +35,8 @@
#include "JNIHelp.h"
#include "ScopedPrimitiveArray.h"
+#include <fd_utils-inl-extra.h>
+
// Whitelist of open paths that the zygote is allowed to keep open.
//
// In addition to the paths listed here, all files ending with
@@ -58,7 +60,10 @@ static const char* kPathWhitelist[] = {
"/dev/ion",
"@netlink@",
"/system/framework/org.cyanogenmod.platform-res.apk",
- "/proc/ged"
+ "/proc/ged",
+#ifdef PATH_WHITELIST_EXTRA_H
+PATH_WHITELIST_EXTRA_H
+#endif
};
static const char* kFdPath = "/proc/self/fd";