Merge "Enable error-prone checking in the net-utils-framework-common"
diff --git a/staticlibs/device/com/android/net/module/util/BpfMap.java b/staticlibs/device/com/android/net/module/util/BpfMap.java
index 9042085..9df2b03 100644
--- a/staticlibs/device/com/android/net/module/util/BpfMap.java
+++ b/staticlibs/device/com/android/net/module/util/BpfMap.java
@@ -70,8 +70,11 @@
private static ParcelFileDescriptor cachedBpfFdGet(String path, int mode,
int keySize, int valueSize)
throws ErrnoException, NullPointerException {
- // TODO: key should include keySize & valueSize, but really we should match specific types
- Pair<String, Integer> key = Pair.create(path, mode);
+ // Supports up to 1023 byte key and 65535 byte values
+ // Creating a BpfMap with larger keys/values seems like a bad idea any way...
+ keySize &= 1023; // 10-bits
+ valueSize &= 65535; // 16-bits
+ var key = Pair.create(path, (mode << 26) ^ (keySize << 16) ^ valueSize);
// unlocked fetch is safe: map is concurrent read capable, and only inserted into
ParcelFileDescriptor fd = sFdCache.get(key);
if (fd != null) return fd;
diff --git a/staticlibs/native/bpfmapjni/Android.bp b/staticlibs/native/bpfmapjni/Android.bp
index 43d61fc..8babcce 100644
--- a/staticlibs/native/bpfmapjni/Android.bp
+++ b/staticlibs/native/bpfmapjni/Android.bp
@@ -46,7 +46,6 @@
],
visibility: [
"//packages/modules/Connectivity:__subpackages__",
- "//packages/modules/NetworkStack:__subpackages__",
// TODO: remove after NetworkStatsService moves to the module.
"//frameworks/base/packages/ConnectivityT/service",
],