[PATCH v3 2/7] Add a general netlink socket parser
Fabien Siron
fabien.siron at epita.fr
Thu Jun 16 13:26:15 UTC 2016
Quoting Dmitry V. Levin (2016-06-16 10:08:22)
> On Thu, Jun 16, 2016 at 04:36:47AM +0300, Dmitry V. Levin wrote:
> > On Wed, Jun 15, 2016 at 12:43:00PM +0000, Fabien Siron wrote:
> [...]
> > > +void
> > > +decode_netlink_iov(struct tcb *tcp, unsigned long len, unsigned long addr,
> > > + unsigned long data_size)
> > > +{
> > > + unsigned long iov[2];
> > > +
> > > + print_array(tcp, addr, len, iov, current_wordsize * 2,
> > > + umoven_or_printaddr, _decode_netlink, 0);
> > > +}
> >
> > data_size shouldn't be ignored, see tprint_iov_upto for example
> > how to take it into account.
>
> Alternatively, rather than making decode_netlink_iov work like
> tprint_iov_upto, you can extend tprint_iov_upto to print netlink related
> data. For example, "decode_iov" argument of tprint_iov_upto can be turned
> from de-facto boolean printaddr/printstr value into enum.
>
I think that this is a good idea but as all the functions that call
tprint_iov_upto() or tprint_iov() must be patched, it's maybe better to do
that as a seperated commit (maybe a future improvement).
Regards,
--
Fabien Siron
More information about the Strace-devel
mailing list