diff options
| author | 2011-08-17 12:06:56 -0700 | |
|---|---|---|
| committer | 2011-08-17 12:06:56 -0700 | |
| commit | 36bd9844f88cd0eb90e94b45bf5b4aa27d4d5628 (patch) | |
| tree | 2bb4e4547ce8d0a0041aed2cd064da9ccc3f2c24 | |
| parent | bb04b678cdc19119c98d1edfdbb732983e490e66 (diff) | |
core/java NetworkManagement: Don't untag sockets willy-nilly
Tagging is conditional on having some useful info to tag.
But untagging had not such restriction leading to unnecessary kernel
calls that just fail with EINVAL.
b/5165619
Change-Id: Idd4b1dc45db04429f85e3ba37656640a8d33046a
| -rw-r--r-- | core/java/com/android/server/NetworkManagementSocketTagger.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/java/com/android/server/NetworkManagementSocketTagger.java b/core/java/com/android/server/NetworkManagementSocketTagger.java index 23af37e6188d..9f6ab315c304 100644 --- a/core/java/com/android/server/NetworkManagementSocketTagger.java +++ b/core/java/com/android/server/NetworkManagementSocketTagger.java @@ -115,7 +115,8 @@ public final class NetworkManagementSocketTagger extends SocketTagger { private void unTagSocketFd(FileDescriptor fd) throws IOException { int fdNum = fd.getInt$(); - if (fdNum == -1) return; + final SocketTags options = threadSocketTags.get(); + if (fdNum == -1 || (options.statsTag == -1 && options.statsUid == -1)) return; String cmd = "u " + fdNum; internalModuleCtrl(cmd); } |