Author: wallace Date: Mon Oct 7 13:26:49 2019 New Revision: 373953 URL: http://llvm.org/viewvc/llvm-project?rev=373953&view=rev Log: [gdb-remote] process properly effective uid
Summary: Someone wrote SetEffectiveSetEffectiveGroupID instead of SetEffectiveUserID. After this fix, the android process list can show user names, e.g. ``` PID PARENT USER GROUP EFF USER EFF GROUP TRIPLE ARGUMENTS ====== ====== ========== ========== ========== ========== ============================== ============================ 529 1 root 0 root 0 /sbin/ueventd ``` Reviewers: labath,clayborg,aadsm,xiaobai Subscribers: Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py?rev=373953&r1=373952&r2=373953&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py Mon Oct 7 13:26:49 2019 @@ -8,13 +8,13 @@ from gdbclientutils import * class TestPlatformClient(GDBRemoteTestBase): - def test_process_list_with_all_users(self): + def test_process_list(self): """Test connecting to a remote linux platform""" class MyResponder(MockGDBServerResponder): def qfProcessInfo(self, packet): if "all_users:1" in packet: - return "pid:10;ppid:1;uid:1;gid:1;euid:1;egid:1;name:" + binascii.hexlify("/a/process") + ";args:" + return "pid:10;ppid:1;uid:2;gid:3;euid:4;egid:5;name:" + binascii.hexlify("/a/process") + ";args:" else: return "E04" @@ -28,6 +28,10 @@ class TestPlatformClient(GDBRemoteTestBa self.assertTrue(self.dbg.GetSelectedPlatform().IsConnected()) self.expect("platform process list -x", startstr="1 matching process was found", endstr="process" + os.linesep) + self.expect("platform process list -xv", + substrs=[ + "PID PARENT USER GROUP EFF USER EFF GROUP", + "10 1 2 3 4 5"]) self.expect("platform process list", error="error: no processes were found on the \"remote-linux\" platform") finally: Modified: lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp?rev=373953&r1=373952&r2=373953&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (original) +++ lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp Mon Oct 7 13:26:49 2019 @@ -1906,7 +1906,7 @@ bool GDBRemoteCommunicationClient::Decod } else if (name.equals("euid")) { uint32_t uid = UINT32_MAX; value.getAsInteger(0, uid); - process_info.SetEffectiveGroupID(uid); + process_info.SetEffectiveUserID(uid); } else if (name.equals("gid")) { uint32_t gid = UINT32_MAX; value.getAsInteger(0, gid); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits