I am not disagreeing that iproute2 should handle the extended error format. Just want the solution to be as small as possible; ie do no more than is absolutely necessary. And future proof for the inevitable growth in new area.
> + > +static const __u8 nla_attr_minlen[NLA_TYPE_MAX+1] = { > + [NLA_U8] = sizeof(__u8), > + [NLA_U16] = sizeof(__u16), > + [NLA_U32] = sizeof(__u32), > + [NLA_U64] = sizeof(__u64), > + [NLA_MSECS] = sizeof(__u64), > + [NLA_NESTED] = NLA_HDRLEN, > + [NLA_S8] = sizeof(__s8), > + [NLA_S16] = sizeof(__s16), > + [NLA_S32] = sizeof(__s32), > + [NLA_S64] = sizeof(__s64), > +}; > + This patch makes iproute2 now doing validation of netlink attributes coming back from the kernel. What is the point, userspace should be trusting the kernel.