From: Paul Chaignon Date: Sun, 6 Aug 2017 09:12:26 +0000 (+0200) Subject: solisten: Remove unnecessary bpf_probe_reads X-Git-Tag: submit/tizen_4.0/20171018.110122~34^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=23ac463f1f0aaac3d85ac9be91775fe4a2e15c5f;p=platform%2Fupstream%2Fbcc.git solisten: Remove unnecessary bpf_probe_reads The use of a kernel function to cast sk is masking the assignment of the external pointer to the bcc rewriter and prevents subsequent use of dereferences. --- diff --git a/tools/solisten.py b/tools/solisten.py index c3563d29..44f3f9b4 100755 --- a/tools/solisten.py +++ b/tools/solisten.py @@ -69,7 +69,7 @@ int kprobe__inet_listen(struct pt_regs *ctx, struct socket *sock, int backlog) { // cast types. Intermediate cast not needed, kept for readability struct sock *sk = sock->sk; - struct inet_sock *inet = inet_sk(sk); + struct inet_sock *inet = (struct inet_sock *)sk; // Built event for userland struct listen_evt_t evt = { @@ -91,7 +91,7 @@ int kprobe__inet_listen(struct pt_regs *ctx, struct socket *sock, int backlog) ##FILTER_PID## // Get port - bpf_probe_read(&evt.lport, sizeof(u16), &(inet->inet_sport)); + evt.lport = inet->inet_sport; evt.lport = ntohs(evt.lport); // Get network namespace id, if kernel supports it @@ -105,7 +105,7 @@ int kprobe__inet_listen(struct pt_regs *ctx, struct socket *sock, int backlog) // Get IP if (family == AF_INET) { - bpf_probe_read(evt.laddr, sizeof(u32), &(inet->inet_rcv_saddr)); + evt.laddr[0] = inet->inet_rcv_saddr; evt.laddr[0] = be32_to_cpu(evt.laddr[0]); } else if (family == AF_INET6) { bpf_probe_read(evt.laddr, sizeof(evt.laddr),