GSoC 2017 Introduction: Netlink socket parsers

Dmitry V. Levin ldv at
Sun Mar 26 22:16:05 UTC 2017


On Sun, Mar 19, 2017 at 12:25:11PM +0800, JingPiao Chen wrote:
> 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
> (

btw, there was a short conversation on #strace a month ago about this code:

> The work I do:
> (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.

Why have you squashed all commits made by Fabien into a single commit?
Do you think it's easier to review a big commit rather than a series of
small commits?

> (netlink branch:
> 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]);

Why tcp->u_arg[0]?  It doesn't look correct.

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

Obviously, the goal is to implement parsers for assigned netlink families.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <>

More information about the Strace-devel mailing list