[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <33d772e5-a2f4-c9a1-11df-27fa7baf8625@gmail.com>
Date: Fri, 26 Apr 2019 09:03:59 -0600
From: David Ahern <dsahern@...il.com>
To: Michal Kubecek <mkubecek@...e.cz>,
"David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org, Johannes Berg <johannes.berg@...el.com>,
Jiri Pirko <jiri@...lanox.com>,
Pablo Neira Ayuso <pablo@...filter.org>,
Jozsef Kadlecsik <kadlec@...ckhole.kfki.hu>,
Florian Westphal <fw@...len.de>,
netfilter-devel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next 1/3] netlink: make nla_nest_start() add
NLA_F_NESTED flag
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@...e.cz>
> ---
Acked-by: David Ahern <dsahern@...il.com>
Powered by blists - more mailing lists