Message ID | 20230525234621.3597759-1-luiz.dentz@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | ec85350c4803b2966249537ea696031304260b91 |
Headers | show |
Series | [BlueZ] monitor: Print process information | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
tedd_an/CheckPatch | success | CheckPatch PASS |
tedd_an/GitLint | success | Gitlint PASS |
tedd_an/BuildEll | success | Build ELL PASS |
tedd_an/BluezMake | success | Bluez Make PASS |
tedd_an/MakeCheck | success | Bluez Make Check PASS |
tedd_an/MakeDistcheck | success | Make Distcheck PASS |
tedd_an/CheckValgrind | success | Check Valgrind PASS |
tedd_an/CheckSmatch | warning | CheckSparse WARNING monitor/packet.c: note: in included file:monitor/display.h:82:26: warning: Variable length array is used.monitor/packet.c:1832:26: warning: Variable length array is used.monitor/packet.c: note: in included file:monitor/bt.h:3552:52: warning: array of flexible structuresmonitor/bt.h:3540:40: warning: array of flexible structures |
tedd_an/bluezmakeextell | success | Make External ELL PASS |
tedd_an/IncrementalBuild | success | Incremental Build PASS |
tedd_an/ScanBuild | warning | ScanBuild: monitor/packet.c:12367:2: warning: Null pointer passed to 2nd parameter expecting 'nonnull' memcpy(tx, tv, sizeof(*tv)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=751131 ---Test result--- Test Summary: CheckPatch PASS 0.54 seconds GitLint PASS 0.32 seconds BuildEll PASS 33.89 seconds BluezMake PASS 1159.05 seconds MakeCheck PASS 12.70 seconds MakeDistcheck PASS 190.13 seconds CheckValgrind PASS 310.78 seconds CheckSmatch WARNING 427.69 seconds bluezmakeextell PASS 126.96 seconds IncrementalBuild PASS 994.27 seconds ScanBuild WARNING 1366.89 seconds Details ############################## Test: CheckSmatch - WARNING Desc: Run smatch tool with source Output: monitor/packet.c: note: in included file:monitor/display.h:82:26: warning: Variable length array is used.monitor/packet.c:1832:26: warning: Variable length array is used.monitor/packet.c: note: in included file:monitor/bt.h:3552:52: warning: array of flexible structuresmonitor/bt.h:3540:40: warning: array of flexible structures ############################## Test: ScanBuild - WARNING Desc: Run Scan Build Output: monitor/packet.c:12367:2: warning: Null pointer passed to 2nd parameter expecting 'nonnull' memcpy(tx, tv, sizeof(*tv)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. --- Regards, Linux Bluetooth
Hello: This patch was applied to bluetooth/bluez.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Thu, 25 May 2023 16:46:21 -0700 you wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > > This prints the process information when available: > > bluetoothd[35]: @ MGMT Command: Rea.. (0x0001) plen 0 {0x0001} > @ MGMT Event: Command Complete (0x0001) plen 6 {0x0001} > Read Management Version Information (0x0001) plen 3 > > [...] Here is the summary with links: - [BlueZ] monitor: Print process information https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=ec85350c4803 You are awesome, thank you!
diff --git a/monitor/packet.c b/monitor/packet.c index b492b8a757a5..04eb70141e68 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -315,13 +315,33 @@ void packet_set_msft_evt_prefix(const uint8_t *prefix, uint8_t len) memcpy(index_list[index_current].msft_evt_prefix, prefix, len); } +static void cred_pid(struct ucred *cred, char *str, size_t len) +{ + char *path = alloca(24); + char line[128]; + FILE *fp; + + snprintf(path, 23, "/proc/%u/comm", cred->pid); + + fp = fopen(path, "re"); + if (fp) { + if (fgets(line, sizeof(line), fp)) { + line[strcspn(line, "\r\n")] = '\0'; + snprintf(str, len, "%s[%u]", line, cred->pid); + } else + snprintf(str, len, "[%u]", cred->pid); + fclose(fp); + } else + snprintf(str, len, "[%u]", cred->pid); +} + static void print_packet(struct timeval *tv, struct ucred *cred, char ident, uint16_t index, const char *channel, const char *color, const char *label, const char *text, const char *extra) { int col = num_columns(); - char line[256], ts_str[96]; + char line[256], ts_str[96], pid_str[140]; int n, ts_len = 0, ts_pos = 0, len = 0, pos = 0; static size_t last_frame; @@ -418,7 +438,13 @@ static void print_packet(struct timeval *tv, struct ucred *cred, char ident, pos += n; } - n = sprintf(line + pos, "%c %s", ident, label ? label : ""); + if (cred) { + cred_pid(cred, pid_str, sizeof(pid_str)); + n = sprintf(line + pos, "%s: %c %s", pid_str, ident, + label ? label : ""); + } else + n = sprintf(line + pos, "%c %s", ident, label ? label : ""); + if (n > 0) { pos += n; len += n; @@ -12091,7 +12117,6 @@ void packet_user_logging(struct timeval *tv, struct ucred *cred, const char *ident, const void *data, uint16_t size) { - char pid_str[140]; const char *label; const char *color; @@ -12117,26 +12142,7 @@ void packet_user_logging(struct timeval *tv, struct ucred *cred, } if (cred) { - char *path = alloca(24); - char line[128]; - FILE *fp; - - snprintf(path, 23, "/proc/%u/comm", cred->pid); - - fp = fopen(path, "re"); - if (fp) { - if (fgets(line, sizeof(line), fp)) { - line[strcspn(line, "\r\n")] = '\0'; - snprintf(pid_str, sizeof(pid_str), "%s[%u]", - line, cred->pid); - } else - snprintf(pid_str, sizeof(pid_str), "%u", - cred->pid); - fclose(fp); - } else - snprintf(pid_str, sizeof(pid_str), "%u", cred->pid); - - label = pid_str; + label = NULL; } else { if (ident) label = ident; @@ -12146,8 +12152,8 @@ void packet_user_logging(struct timeval *tv, struct ucred *cred, if (ident && (ident[0] == '<' || ident[0] == '>')) { packet_decode(tv, cred, ident[0], index, color, - label == ident ? &ident[2] : label, - data, size); + label == ident ? &ident[2] : label, + data, size); return; }
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> This prints the process information when available: bluetoothd[35]: @ MGMT Command: Rea.. (0x0001) plen 0 {0x0001} @ MGMT Event: Command Complete (0x0001) plen 6 {0x0001} Read Management Version Information (0x0001) plen 3 --- monitor/packet.c | 56 +++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 25 deletions(-)