handle return value in kretprobe handler for tcpv4connect
Signed-off-by: Yonghong Song <yhs@plumgrid.com>
diff --git a/tools/tcpv4connect b/tools/tcpv4connect
index fdada97..67a2894 100755
--- a/tools/tcpv4connect
+++ b/tools/tcpv4connect
@@ -61,6 +61,13 @@
return 0; // missed entry
}
+ if (ret != 0) {
+ // failed to send SYNC packet, socket __sk_common.{skc_rcv_saddr, ...}
+ // may not be populated properly.
+ currsock.delete(&pid);
+ return 0;
+ }
+
// pull in details
struct sock *skp = *skpp;
u32 saddr = 0, daddr = 0;