From dab441cb28d9505c046b94b9706782246fe46dbf Mon Sep 17 00:00:00 2001 From: nyyu Date: Tue, 11 Oct 2022 07:18:21 +0200 Subject: [PATCH] fix: crash system server uninstall app --- fix-uninstall-app-crash.patch | 43 +++++++++++++++++++++++++++++++++++ sync.sh | 4 ++++ 2 files changed, 47 insertions(+) create mode 100644 fix-uninstall-app-crash.patch diff --git a/fix-uninstall-app-crash.patch b/fix-uninstall-app-crash.patch new file mode 100644 index 0000000..a5d98a4 --- /dev/null +++ b/fix-uninstall-app-crash.patch @@ -0,0 +1,43 @@ +From eaf05803660d9f8f3e49c9d91d875494cfee1216 Mon Sep 17 00:00:00 2001 +From: nyyu +Date: Mon, 10 Oct 2022 22:36:33 +0200 +Subject: [PATCH] fix: uninstall app crash + +--- + service-t/src/com/android/server/net/NetworkStatsService.java | 3 +++ + service/src/com/android/server/BpfNetMaps.java | 4 ++-- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/service-t/src/com/android/server/net/NetworkStatsService.java b/service-t/src/com/android/server/net/NetworkStatsService.java +index 4f0f3411a..a11ffbd89 100644 +--- a/service-t/src/com/android/server/net/NetworkStatsService.java ++++ b/service-t/src/com/android/server/net/NetworkStatsService.java +@@ -2421,6 +2421,9 @@ public class NetworkStatsService extends INetworkStatsService.Stub { + * @param uid + */ + private void deleteKernelTagData(int uid) { ++ if (mCookieTagMap == null) ++ return; ++ + try { + mCookieTagMap.forEach((key, value) -> { + // If SkDestroyListener deletes the socket tag while this code is running, +diff --git a/service/src/com/android/server/BpfNetMaps.java b/service/src/com/android/server/BpfNetMaps.java +index c006bc605..3d1fc9b71 100644 +--- a/service/src/com/android/server/BpfNetMaps.java ++++ b/service/src/com/android/server/BpfNetMaps.java +@@ -67,9 +67,9 @@ public class BpfNetMaps { + } + + private void maybeThrow(final int err, final String msg) { +- if (err != 0) { ++ /*if (err != 0) { + throw new ServiceSpecificException(err, msg + ": " + Os.strerror(err)); +- } ++ }*/ + } + + /** +-- +2.38.0 + diff --git a/sync.sh b/sync.sh index a67b475..30163b6 100644 --- a/sync.sh +++ b/sync.sh @@ -65,6 +65,10 @@ git am $DRONE_WORKSPACE_BASE/fix-bt-3.patch || git am --abort git am $DRONE_WORKSPACE_BASE/fix-bt-le.patch || git am --abort cd $TOPDIR +cd packages/modules/Connectivity +git am $DRONE_WORKSPACE_BASE/fix-uninstall-app-crash.patch || git am --abort +cd $TOPDIR + #cd hardware/interfaces #git reset --hard ad2871f7 #cd $TOPDIR