GSoC 2017 Introduction: Netlink socket parsers

JingPiao Chen chenjingpiao at gmail.com
Sun Mar 19 04:25:11 UTC 2017


Hello strace-developers:
My name is JingPiao Chen. I'am a Computer Science sophomore from
Guangdong Pharmaceutical University. I am interested in Netlink socket
parsers suggested by Gabriel Laskar and Dmitry V. Levin. I am familiar
with C, git, shell script, and gdb.

My current work base on the code by Fabien Siron
(https://github.com/Saruta/strace/tree/netlink)

The work I do:
(master:https://github.com/ppiao/strace/tree/master)
1.Merge it into latest main tree.
2.Fix coding style.
3.Rewrite decode_netlink_flags() and decode_netlink_type().
4.Rewrite and rename decode_inet_diag_sockid().
5.Rewrite decode_nlattr_data().
6.Decode some nested attributes.

(netlink branch:https://github.com/ppiao/strace/tree/netlink)
7.Rewrite getfdnlproto().
8.Do not use optional_data in struct print_iovec_config,
when call print_iovec, pass tcp->u_arg[0] as fd.
Is this right? Like this:

diff --git a/io.c b/io.c
index a4f6b8e..6b43d7d 100644
--- a/io.c
+++ b/io.c
@@ -94,7 +94,7 @@ print_iovec(struct tcb *tcp, void *elem_buf, size_t
elem_size, void *data)
  len = c->data_size;
  if (c->data_size != (kernel_ulong_t) -1)
  c->data_size -= len;
- decode_netlink(tcp, iov[0], iov[1]);
+ decode_netlink(tcp, tcp->u_arg[0], iov[0], iov[1]);
  break;
  default:
  printaddr(iov[0]);

The work I haven't done:
1.Don't merge rtnetlink.c
2.Some nested do not decode.

I want to know the goal of Netlink socket parsers project.
Thank you.

---
JingPiao Chen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20170319/e67dd24e/attachment.html>


More information about the Strace-devel mailing list