android-10.0.0_r47 patches

This commit is contained in:
Ziyang Zhou
2023-10-05 22:33:12 +08:00
parent aea90812bf
commit 629a8db239
16 changed files with 3196 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
From fb3d1b87ae0a208cb9446dbacb57f09c9d2d8da9 Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Mon, 26 Apr 2021 23:01:03 +0800
Subject: [PATCH] video playback workaround
---
media/libstagefright/colorconversion/SoftwareRenderer.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
index 359df3d54..c1def91f9 100644
--- a/media/libstagefright/colorconversion/SoftwareRenderer.cpp
+++ b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
@@ -125,6 +125,7 @@ void SoftwareRenderer::resetFormatIfChanged(
// hardware has YUV12 and RGBA8888 support, so convert known formats
{
switch (mColorFormat) {
+#if 0 // HACKED
case OMX_COLOR_FormatYUV420Planar:
case OMX_COLOR_FormatYUV420SemiPlanar:
case OMX_TI_COLOR_FormatYUV420PackedSemiPlanar:
@@ -134,6 +135,7 @@ void SoftwareRenderer::resetFormatIfChanged(
bufHeight = (mCropHeight + 1) & ~1;
break;
}
+#endif
case OMX_COLOR_Format24bitRGB888:
{
halFormat = HAL_PIXEL_FORMAT_RGB_888;
@@ -159,7 +161,9 @@ void SoftwareRenderer::resetFormatIfChanged(
// use render engine to convert it to RGB if needed.
halFormat = HAL_PIXEL_FORMAT_RGBA_1010102;
} else {
+#if 0 // HACKED
halFormat = HAL_PIXEL_FORMAT_YV12;
+#endif
}
bufWidth = (mCropWidth + 1) & ~1;
bufHeight = (mCropHeight + 1) & ~1;
--
2.34.1

View File

@@ -0,0 +1,106 @@
From 9653dd065fdbd99b058f0d9e09b46b6bd5d68896 Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Sun, 9 May 2021 22:04:12 +0800
Subject: [PATCH 1/2] fix booting
---
core/jni/android_os_SELinux.cpp | 7 +++++++
core/jni/android_os_VintfObject.cpp | 2 ++
.../android/server/net/NetworkPolicyManagerService.java | 1 +
3 files changed, 10 insertions(+)
diff --git a/core/jni/android_os_SELinux.cpp b/core/jni/android_os_SELinux.cpp
index 236ee6123cd..0ba320f4668 100644
--- a/core/jni/android_os_SELinux.cpp
+++ b/core/jni/android_os_SELinux.cpp
@@ -81,6 +81,7 @@ static jboolean isSELinuxEnforced(JNIEnv *env, jobject) {
}
static jstring fileSelabelLookup(JNIEnv* env, jobject, jstring pathStr) {
+ se_hack1(env->NewStringUTF("HACKED"));
if (isSELinuxDisabled) {
ALOGE("fileSelabelLookup => SELinux is disabled");
return NULL;
@@ -119,6 +120,7 @@ static jstring fileSelabelLookup(JNIEnv* env, jobject, jstring pathStr) {
}
static jstring getFdConInner(JNIEnv *env, jobject fileDescriptor, bool isSocket) {
+ se_hack1(env->NewStringUTF("HACKED"));
if (isSELinuxDisabled) {
return NULL;
}
@@ -187,6 +189,7 @@ static jstring getFdCon(JNIEnv *env, jobject, jobject fileDescriptor) {
* Exception: none
*/
static jboolean setFSCreateCon(JNIEnv *env, jobject, jstring contextStr) {
+ se_hack1(true);
if (isSELinuxDisabled) {
return false;
}
@@ -218,6 +221,7 @@ static jboolean setFSCreateCon(JNIEnv *env, jobject, jstring contextStr) {
* Exception: NullPointerException is thrown if either path or context strign are NULL
*/
static jboolean setFileCon(JNIEnv *env, jobject, jstring pathStr, jstring contextStr) {
+ se_hack1(true);
if (isSELinuxDisabled) {
return false;
}
@@ -251,6 +255,7 @@ static jboolean setFileCon(JNIEnv *env, jobject, jstring pathStr, jstring contex
* Exceptions: NullPointerException if the path object is null
*/
static jstring getFileCon(JNIEnv *env, jobject, jstring pathStr) {
+ se_hack1(env->NewStringUTF("HACKED"));
if (isSELinuxDisabled) {
return NULL;
}
@@ -282,6 +287,7 @@ static jstring getFileCon(JNIEnv *env, jobject, jstring pathStr) {
* Exceptions: none
*/
static jstring getCon(JNIEnv *env, jobject) {
+ se_hack1(env->NewStringUTF("HACKED"));
if (isSELinuxDisabled) {
return NULL;
}
@@ -309,6 +315,7 @@ static jstring getCon(JNIEnv *env, jobject) {
* Exceptions: none
*/
static jstring getPidCon(JNIEnv *env, jobject, jint pid) {
+ se_hack1(env->NewStringUTF("HACKED"));
if (isSELinuxDisabled) {
return NULL;
}
diff --git a/core/jni/android_os_VintfObject.cpp b/core/jni/android_os_VintfObject.cpp
index ee11b6162db..9ebcf398f6a 100644
--- a/core/jni/android_os_VintfObject.cpp
+++ b/core/jni/android_os_VintfObject.cpp
@@ -97,6 +97,7 @@ static jobjectArray android_os_VintfObject_report(JNIEnv* env, jclass)
}
static jint android_os_VintfObject_verify(JNIEnv* env, jclass, jobjectArray packageInfo) {
+ if (env) return 0; // HACKED, no kernel
std::vector<std::string> cPackageInfo;
if (packageInfo) {
size_t count = env->GetArrayLength(packageInfo);
@@ -116,6 +117,7 @@ static jint android_os_VintfObject_verify(JNIEnv* env, jclass, jobjectArray pack
}
static jint android_os_VintfObject_verifyWithoutAvb(JNIEnv* env, jclass) {
+ if (env) return 0; // HACKED, no kernel
std::string error;
int32_t status = VintfObject::CheckCompatibility({}, &error,
::android::vintf::CheckFlags::DISABLE_AVB_CHECK);
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index 6c34e1313f7..55bde658e12 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -729,6 +729,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND);
if (!isBandwidthControlEnabled()) {
Slog.w(TAG, "bandwidth controls disabled, unable to enforce policy");
+ initCompleteSignal.countDown(); // HACKED (?)
return;
}
--
2.34.1

View File

@@ -0,0 +1,24 @@
From a11577d9cf469267dcdfd8385965d24a47f5622f Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Fri, 25 Jun 2021 15:25:00 +0000
Subject: [PATCH 2/2] mocked WiFi
---
core/java/android/net/ConnectivityManager.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index 111a8c48a46..3c467d33228 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -1160,6 +1160,7 @@ public class ConnectivityManager {
@Nullable
public NetworkInfo getNetworkInfo(int networkType) {
try {
+ if (networkType == ConnectivityManager.TYPE_WIFI) networkType = ConnectivityManager.TYPE_ETHERNET;
return mService.getNetworkInfo(networkType);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
--
2.34.1

View File

@@ -0,0 +1,66 @@
From ccc25478ae016d064fa7cebece6cf2bba1f3babc Mon Sep 17 00:00:00 2001
From: Ziyang Zhou <ziyang.zhou@outlook.com>
Date: Sun, 9 May 2021 23:01:00 +0800
Subject: [PATCH] fix booting
---
cmds/servicemanager/binder.c | 3 +++
libs/binder/Binder.cpp | 1 +
libs/binder/ProcessState.cpp | 3 +++
3 files changed, 7 insertions(+)
diff --git a/cmds/servicemanager/binder.c b/cmds/servicemanager/binder.c
index cf3b1728b..9c1eea4d5 100644
--- a/cmds/servicemanager/binder.c
+++ b/cmds/servicemanager/binder.c
@@ -146,12 +146,15 @@ void binder_close(struct binder_state *bs)
int binder_become_context_manager(struct binder_state *bs)
{
+#if 0 // HACKED
struct flat_binder_object obj;
memset(&obj, 0, sizeof(obj));
obj.flags = FLAT_BINDER_FLAG_TXN_SECURITY_CTX;
int result = ioctl(bs->fd, BINDER_SET_CONTEXT_MGR_EXT, &obj);
+#endif
+ int result = 1;
// fallback to original method
if (result != 0) {
android_errorWriteLog(0x534e4554, "121035042");
diff --git a/libs/binder/Binder.cpp b/libs/binder/Binder.cpp
index cb0e08d12..5c53585e9 100644
--- a/libs/binder/Binder.cpp
+++ b/libs/binder/Binder.cpp
@@ -206,6 +206,7 @@ bool BBinder::isRequestingSid()
void BBinder::setRequestingSid(bool requestingSid)
{
+ requestingSid = false; // HACKED
Extras* e = mExtras.load(std::memory_order_acquire);
if (!e) {
diff --git a/libs/binder/ProcessState.cpp b/libs/binder/ProcessState.cpp
index 63f49ddba..084f91a32 100644
--- a/libs/binder/ProcessState.cpp
+++ b/libs/binder/ProcessState.cpp
@@ -181,12 +181,15 @@ bool ProcessState::becomeContextManager(context_check_func checkFunc, void* user
mBinderContextCheckFunc = checkFunc;
mBinderContextUserData = userData;
+#if 0 // HACKED (?)
flat_binder_object obj {
.flags = FLAT_BINDER_FLAG_TXN_SECURITY_CTX,
};
status_t result = ioctl(mDriverFD, BINDER_SET_CONTEXT_MGR_EXT, &obj);
+#endif
+ status_t result = 1;
// fallback to original method
if (result != 0) {
android_errorWriteLog(0x534e4554, "121035042");
--
2.34.1