On Sat, Jun 10, 2017 at 03:32:46PM +0900, Masatake YAMATO wrote: [...] > diff --git a/netlink.c b/netlink.c > index 049843d..d8a735e 100644 > --- a/netlink.c > +++ b/netlink.c > @@ -100,8 +100,8 @@ get_fd_nl_family(struct tcb *const tcp, const int fd) > return NL_FAMILY_ERROR; > } > > -static const struct { > - const struct xlat *const xlat; > +static struct { > + const struct xlat * xlat; > const char *const dflt; > } nlmsg_types[] = { > [NETLINK_AUDIT] = { nl_audit_types, "AUDIT_???" }, > @@ -109,7 +109,8 @@ static const struct { > [NETLINK_ROUTE] = { nl_route_types, "RTM_???" }, > [NETLINK_SELINUX] = { nl_selinux_types, "SELNL_MSG_???" }, > [NETLINK_SOCK_DIAG] = { nl_sock_diag_types, "SOCK_DIAG_???" }, > - [NETLINK_XFRM] = { nl_xfrm_types, "XFRM_MSG_???" } > + [NETLINK_XFRM] = { nl_xfrm_types, "XFRM_MSG_???" }, > + [NETLINK_GENERIC] = { NULL, "GENERIC_FAMILY_???" }
it seem NETLINK_* should keep sorted. > }; > > /* > @@ -119,6 +120,9 @@ static const struct { > static void > decode_nlmsg_type(const uint16_t type, const unsigned int family) > { > + if (!nlmsg_types [NETLINK_GENERIC].xlat) > + nlmsg_types [NETLINK_GENERIC].xlat = genl_families_xlat(); > + > if (family < ARRAY_SIZE(nlmsg_types) > && nlmsg_types[family].xlat) { > if (family == NETLINK_NETFILTER) { -- JingPiao Chen ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel