linux/drivers/infiniband/core
Michal Kubecek ae0be8de9a netlink: make nla_nest_start() add NLA_F_NESTED flag
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: Jiri Pirko <jiri@mellanox.com>
Acked-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-04-27 17:03:44 -04:00
..
addr.c ipv4: Prepare rtable for IPv6 gateway 2019-04-08 15:22:40 -07:00
agent.c RDMA: Mark if destroy address handle is in a sleepable context 2018-12-19 16:28:03 -07:00
agent.h
cache.c RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev 2019-02-19 20:52:18 -07:00
cgroup.c IB/core: Simplify rdma cgroup registration 2019-01-18 13:43:10 -07:00
cm.c IB/cm: Use struct_size() in kmalloc() 2019-01-07 11:43:03 -07:00
cm_msgs.h
cma.c RDMA: Add and use rdma_for_each_port 2019-02-19 10:13:39 -07:00
cma_configfs.c
cma_priv.h IB/cma: Define option to set ack timeout and pack tos_set 2019-02-08 16:14:21 -07:00
core_priv.h RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev 2019-02-19 20:52:18 -07:00
cq.c
device.c XArray updates for 5.1-rc1 2019-03-11 20:06:18 -07:00
fmr_pool.c
iwcm.c RDMA/iwcm: Fix string truncation error 2019-02-19 20:52:19 -07:00
iwcm.h
iwpm_msg.c RDMA/iwpm: move kdoc comments to functions 2019-02-05 15:40:41 -07:00
iwpm_util.c RDMA/iwpm: Remove set but not used variable 'msg_seq' 2019-02-14 14:47:39 -07:00
iwpm_util.h RDMA/IWPM: Support no port mapping requirements 2019-02-04 16:26:02 -07:00
mad.c RDMA: Add and use rdma_for_each_port 2019-02-19 10:13:39 -07:00
mad_priv.h
mad_rmpp.c RDMA: Mark if destroy address handle is in a sleepable context 2018-12-19 16:28:03 -07:00
mad_rmpp.h
Makefile IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs 2019-01-10 17:06:44 -07:00
mr_pool.c
multicast.c
netlink.c RDMA/cma: Remove CM_ID statistics provided by rdma-cm module 2019-02-05 15:30:33 -07:00
nldev.c netlink: make nla_nest_start() add NLA_F_NESTED flag 2019-04-27 17:03:44 -04:00
opa_smi.h
packer.c
rdma_core.c RDMA: Handle ucontext allocations by IB/core 2019-02-22 14:11:37 -07:00
rdma_core.h RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT 2019-01-14 14:02:22 -07:00
restrack.c XArray updates for 5.1-rc1 2019-03-11 20:06:18 -07:00
restrack.h RDMA/restrack: Prepare restrack_root to addition of extra fields per-type 2019-02-19 10:13:38 -07:00
roce_gid_mgmt.c
rw.c IB/core: Remove ib_sg_dma_address() and ib_sg_dma_len() 2019-02-04 14:34:07 -07:00
sa.h
sa_query.c IB/core: Use struct_size() in kzalloc() 2019-01-07 11:59:33 -07:00
security.c RDMA/device: Consolidate ib_device per_port data into one place 2019-02-19 10:13:39 -07:00
smi.c
smi.h
sysfs.c RDMA: Add and use rdma_for_each_port 2019-02-19 10:13:39 -07:00
ucm.c
ucma.c IB/cma: Define option to set ack timeout and pack tos_set 2019-02-08 16:14:21 -07:00
ud_header.c
umem.c IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl and cmd flows 2019-02-15 11:16:21 -07:00
umem_odp.c RDMA/umem: Revert broken 'off by one' fix 2019-03-06 14:42:37 -04:00
user_mad.c RDMA: Add and use rdma_for_each_port 2019-02-19 10:13:39 -07:00
uverbs.h IB/core: Move query port to ioctl 2018-12-20 15:18:24 -07:00
uverbs_cmd.c RDMA/uverbs: Don't do double free of allocated PD 2019-02-25 15:00:48 -07:00
uverbs_ioctl.c IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl and cmd flows 2019-02-15 11:16:21 -07:00
uverbs_main.c coredump: fix race condition between mmget_not_zero()/get_task_mm() and core dumping 2019-04-19 09:46:05 -07:00
uverbs_marshall.c
uverbs_std_types.c RDMA: Handle PD allocations by IB/core 2019-02-08 16:51:04 -07:00
uverbs_std_types_counters.c
uverbs_std_types_cq.c
uverbs_std_types_device.c IB/uverbs: Fix ioctl query port to consider device disassociation 2019-01-25 11:58:06 -07:00
uverbs_std_types_dm.c
uverbs_std_types_flow_action.c
uverbs_std_types_mr.c IB/uverbs: Signedness bug in UVERBS_HANDLER() 2018-12-22 16:07:13 -07:00
uverbs_uapi.c IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD 2019-01-29 13:32:43 -07:00
verbs.c RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev 2019-02-19 20:52:18 -07:00