summaryrefslogtreecommitdiff
path: root/libs/binder/Parcel.cpp
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2023-12-06 22:37:37 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-12-06 22:37:37 +0000
commitfee02e7d1720078fa02cee45c6f251e62368627e (patch)
treea05cec82f4b6b922470a3899e9849a8c07032cfa /libs/binder/Parcel.cpp
parent3c969b5c1cc59b5c2592c5ef1f7425a7b63881eb (diff)
parent96b83024e4ec7b3986f9cefaa0990b01bc6010b8 (diff)
Merge "libbinder: restrict non-Android kernel binder use" into main am: 96b83024e4
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2860905 Change-Id: I5bf7497d08969beba68aca62cfa9814d0d31e03a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'libs/binder/Parcel.cpp')
-rw-r--r--libs/binder/Parcel.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index 47e3f91ac2..a1f164c5c7 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -845,6 +845,9 @@ void Parcel::updateWorkSourceRequestHeaderPosition() const {
}
#ifdef BINDER_WITH_KERNEL_IPC
+
+#if defined(__ANDROID__)
+
#if defined(__ANDROID_VNDK__)
constexpr int32_t kHeader = B_PACK_CHARS('V', 'N', 'D', 'R');
#elif defined(__ANDROID_RECOVERY__)
@@ -852,6 +855,14 @@ constexpr int32_t kHeader = B_PACK_CHARS('R', 'E', 'C', 'O');
#else
constexpr int32_t kHeader = B_PACK_CHARS('S', 'Y', 'S', 'T');
#endif
+
+#else // ANDROID not defined
+
+// If kernel binder is used in new environments, we need to make sure it's separated
+// out and has a separate header.
+constexpr int32_t kHeader = B_PACK_CHARS('U', 'N', 'K', 'N');
+#endif
+
#endif // BINDER_WITH_KERNEL_IPC
// Write RPC headers. (previously just the interface token)