Messages in this thread | | | Subject | Re: [PATCH net-next 1/3] netlink: make nla_nest_start() add NLA_F_NESTED flag | From | David Ahern <> | Date | Fri, 26 Apr 2019 09:03:59 -0600 |
| |
On 4/26/19 3:13 AM, Michal Kubecek wrote: > Even if the NLA_F_NESTED flag was introduced more than 11 years ago, most > netlink based interfaces (including recently added ones) are still not > setting it in kernel generated messages. Without the flag, message parsers > not aware of attribute semantics (e.g. wireshark dissector or libmnl's > mnl_nlmsg_fprintf()) cannot recognize nested attributes and won't display > the structure of their contents. > > Unfortunately we cannot just add the flag everywhere as there may be > userspace applications which check nlattr::nla_type directly rather than > through a helper masking out the flags. Therefore the patch renames > nla_nest_start() to nla_nest_start_noflag() and introduces nla_nest_start() > as a wrapper adding NLA_F_NESTED. The calls which add NLA_F_NESTED manually > are rewritten to use nla_nest_start(). > > Except for changes in include/net/netlink.h, the patch was generated using > this semantic patch: > > @@ expression E1, E2; @@ > -nla_nest_start(E1, E2) > +nla_nest_start_noflag(E1, E2) > > @@ expression E1, E2; @@ > -nla_nest_start_noflag(E1, E2 | NLA_F_NESTED) > +nla_nest_start(E1, E2) > > Signed-off-by: Michal Kubecek <mkubecek@suse.cz> > ---
Acked-by: David Ahern <dsahern@gmail.com>
| |