Merge pull request #1863 from pchaigno/remove-unnecessary-bpf-probe-reads

tools: remove unnecessary calls to bpf_probe_read
diff --git a/tools/runqlat.py b/tools/runqlat.py
index 86dff6b..9fd4064 100755
--- a/tools/runqlat.py
+++ b/tools/runqlat.py
@@ -168,11 +168,9 @@
     struct task_struct *prev = (struct task_struct *)ctx->args[1];
     struct task_struct *next = (struct task_struct *)ctx->args[2];
     u32 pid, tgid;
-    long state;
 
     // ivcsw: treat like an enqueue event and store timestamp
-    bpf_probe_read(&state, sizeof(long), &prev->state);
-    if (state == TASK_RUNNING) {
+    if (prev->state == TASK_RUNNING) {
         tgid = prev->tgid;
         pid = prev->pid;
         if (!(FILTER || pid == 0)) {
diff --git a/tools/runqslower.py b/tools/runqslower.py
index a28a823..7a1869c 100755
--- a/tools/runqslower.py
+++ b/tools/runqslower.py
@@ -145,11 +145,7 @@
 {
     // TP_PROTO(struct task_struct *p)
     struct task_struct *p = (struct task_struct *)ctx->args[0];
-    u32 tgid, pid;
-
-    bpf_probe_read(&tgid, sizeof(tgid), &p->tgid);
-    bpf_probe_read(&pid, sizeof(pid), &p->pid);
-    return trace_enqueue(tgid, pid);
+    return trace_enqueue(p->tgid, p->pid);
 }
 
 RAW_TRACEPOINT_PROBE(sched_wakeup_new)
diff --git a/tools/tcpaccept.py b/tools/tcpaccept.py
index 51995a9..d52d209 100755
--- a/tools/tcpaccept.py
+++ b/tools/tcpaccept.py
@@ -107,16 +107,16 @@
     if (sk_lingertime_offset - gso_max_segs_offset == 4) 
         // 4.10+ with little endian
 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-            bpf_probe_read(&protocol, 1, (void *)((u64)&newsk->sk_gso_max_segs) - 3);
+        protocol = *(u8 *)((u64)&newsk->sk_gso_max_segs - 3);
     else
         // pre-4.10 with little endian
-            bpf_probe_read(&protocol, 1, (void *)((u64)&newsk->sk_wmem_queued) - 3);
+        protocol = *(u8 *)((u64)&newsk->sk_wmem_queued - 3);
 #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
         // 4.10+ with big endian
-            bpf_probe_read(&protocol, 1, (void *)((u64)&newsk->sk_gso_max_segs) - 1);
+        protocol = *(u8 *)((u64)&newsk->sk_gso_max_segs - 1);
     else
         // pre-4.10 with big endian
-            bpf_probe_read(&protocol, 1, (void *)((u64)&newsk->sk_wmem_queued) - 1);
+        protocol = *(u8 *)((u64)&newsk->sk_wmem_queued - 1);
 #else
 # error "Fix your compiler's __BYTE_ORDER__?!"
 #endif
diff --git a/tools/tcptracer.py b/tools/tcptracer.py
index 8290d40..5e97ee6 100755
--- a/tools/tcptracer.py
+++ b/tools/tcptracer.py
@@ -116,8 +116,7 @@
   u16 sport = sockp->inet_sport;
   u16 dport = skp->__sk_common.skc_dport;
 #ifdef CONFIG_NET_NS
-  possible_net_t skc_net = skp->__sk_common.skc_net;
-  bpf_probe_read(&net_ns_inum, sizeof(net_ns_inum), &skc_net.net->ns.inum);
+  net_ns_inum = skp->__sk_common.skc_net.net->ns.inum;
 #endif
 
   ##FILTER_NETNS##
@@ -144,8 +143,7 @@
   u16 sport = sockp->inet_sport;
   u16 dport = skp->__sk_common.skc_dport;
 #ifdef CONFIG_NET_NS
-  possible_net_t skc_net = skp->__sk_common.skc_net;
-  bpf_probe_read(&net_ns_inum, sizeof(net_ns_inum), &skc_net.net->ns.inum);
+  net_ns_inum = skp->__sk_common.skc_net.net->ns.inum;
 #endif
   bpf_probe_read(&saddr, sizeof(saddr),
                  skp->__sk_common.skc_v6_rcv_saddr.in6_u.u6_addr32);
@@ -430,16 +428,12 @@
   u32 net_ns_inum = 0;
   u8 ipver = 0;
 
-  bpf_probe_read(&dport, sizeof(dport), &newsk->__sk_common.skc_dport);
-  bpf_probe_read(&lport, sizeof(lport), &newsk->__sk_common.skc_num);
+  dport = newsk->__sk_common.skc_dport;
+  lport = newsk->__sk_common.skc_num;
 
   // Get network namespace id, if kernel supports it
 #ifdef CONFIG_NET_NS
-  possible_net_t skc_net = { };
-  bpf_probe_read(&skc_net, sizeof(skc_net), &newsk->__sk_common.skc_net);
-  bpf_probe_read(&net_ns_inum, sizeof(net_ns_inum), &skc_net.net->ns.inum);
-#else
-  net_ns_inum = 0;
+  net_ns_inum = newsk->__sk_common.skc_net.net->ns.inum;
 #endif
 
   ##FILTER_NETNS##
@@ -455,10 +449,8 @@
       evt4.pid = pid >> 32;
       evt4.ip = ipver;
 
-      bpf_probe_read(&evt4.saddr, sizeof(evt4.saddr),
-                     &newsk->__sk_common.skc_rcv_saddr);
-      bpf_probe_read(&evt4.daddr, sizeof(evt4.daddr),
-                     &newsk->__sk_common.skc_daddr);
+      evt4.saddr = newsk->__sk_common.skc_rcv_saddr;
+      evt4.daddr = newsk->__sk_common.skc_daddr;
 
       evt4.sport = lport;
       evt4.dport = ntohs(dport);