linux/drivers/infiniband/core
Jason Gunthorpe 0bd01f3d09 RDMA/uverbs: Require all objects to have a driver destroy function
If we can't destroy the object then we certainly shouldn't allow it be
created or used. Remove it from the uverbs_uapi in this case.

This also disables methods of other objects that have mandatory object
handle inputs - ie REG_DM_MR is now automatically removed if DM objects
cannot be created.

Typically drivers not supporting an interface will mark all of the
supporting functions as NULL, including destroy.

This is intended to automatically eliminate entire corner cases in the API
that are difficult to test.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
2018-11-22 11:57:32 -07:00
..
Makefile IB/uverbs: Remove struct uverbs_root_spec and all supporting code 2018-08-13 09:17:19 -06:00
addr.c RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
agent.c
agent.h
cache.c Merge branch 'for-rc' into rdma.git for-next 2018-10-16 00:01:02 -06:00
cgroup.c
cm.c RDMA/cm: Respect returned status of cm_init_av_by_path 2018-10-16 08:29:24 -06:00
cm_msgs.h IB/cm: Remove unused and erroneous msg sequence encoding 2018-07-09 11:39:28 -06:00
cma.c RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
cma_configfs.c RDMA/core: Use dev_name instead of ibdev->name 2018-09-26 13:51:48 -06:00
cma_priv.h RDMA/cma: Move rdma_cm_state to cma_priv.h 2018-03-29 13:54:21 -06:00
core_priv.h RDMA/core: Increase total number of RDMA ports across all devices 2018-10-16 14:36:20 -04:00
cq.c RDMA/restrack: Consolidate task name updates in one place 2018-10-05 16:07:39 -06:00
device.c RDMA/core: Refactor ib_register_device() function 2018-10-17 11:43:07 -04:00
fmr_pool.c IB/core: Make function ib_fmr_pool_unmap return void 2018-11-21 16:13:02 -07:00
iwcm.c RDMA/core: Use dev_name instead of ibdev->name 2018-09-26 13:51:48 -06:00
iwcm.h
iwpm_msg.c RDMA/iwpm: Properly mark end of NL messages 2017-09-29 11:32:42 -04:00
iwpm_util.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
iwpm_util.h
mad.c RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
mad_priv.h RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
mad_rmpp.c IB/mad: Change slid in RMPP recv from 16 to 32 bits 2017-08-08 14:47:18 -04:00
mad_rmpp.h
mr_pool.c
multicast.c IB: Make ib_init_ah_from_mcmember set sgid_attr 2018-06-25 14:19:56 -06:00
netlink.c RDMA/netlink: Simplify netlink listener existence check 2018-10-03 16:06:07 -06:00
nldev.c RDMA/nldev: Allow IB device rename through RDMA netlink 2018-10-16 13:37:16 -04:00
opa_smi.h
packer.c
rdma_core.c RDMA/uverbs: Get rid of ucontext->tgid 2018-09-21 11:58:36 -04:00
rdma_core.h RDMA/uverbs: Require all objects to have a driver destroy function 2018-11-22 11:57:32 -07:00
restrack.c RDMA/restrack: Protect from reentry to resource return path 2018-10-16 08:24:36 -06:00
roce_gid_mgmt.c IB/core: Change filter function return type from int to bool 2018-08-15 13:33:20 -06:00
rw.c IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]() 2018-10-17 12:18:20 -05:00
sa.h RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
sa_query.c RDMA/core: Annotate timeout as unsigned long 2018-10-16 13:34:01 -04:00
security.c RDMA/core: Use dev_name instead of ibdev->name 2018-09-26 13:51:48 -06:00
smi.c
smi.h
sysfs.c RDMA/core: Fix comment for hw stats init for port == 0 2018-10-17 11:43:07 -04:00
ucm.c IB/ucm: Fix Spectre v1 vulnerability 2018-10-16 11:32:40 -04:00
ucma.c RDMA/ucma: Fix Spectre v1 vulnerability 2018-10-16 12:47:40 -04:00
ud_header.c
umem.c RDMA/core: Acquire and release mmap_sem on page range 2018-09-27 12:40:20 -06:00
umem_odp.c IB/mlx5: Improve ODP debugging messages 2018-11-12 22:26:02 +02:00
user_mad.c RDMA/umad: Use kernel API to allocate umad indexes 2018-10-16 14:36:21 -04:00
uverbs.h RDMA/ucontext: Add a core API for mmaping driver IO memory 2018-09-20 16:19:30 -04:00
uverbs_cmd.c Merge branch 'for-rc' into rdma.git for-next 2018-10-16 00:01:02 -06:00
uverbs_ioctl.c RDMA/uverbs: Fix RCU annotation for radix slot deference 2018-10-03 16:01:40 -06:00
uverbs_main.c RDMA/uverbs: Add helpers to mark uapi functions as unsupported 2018-11-22 11:57:32 -07:00
uverbs_marshall.c IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *' 2018-06-25 14:19:57 -06:00
uverbs_std_types.c RDMA/uverbs: Require all objects to have a driver destroy function 2018-11-22 11:57:32 -07:00
uverbs_std_types_counters.c RDMA/uverbs: Require all objects to have a driver destroy function 2018-11-22 11:57:32 -07:00
uverbs_std_types_cq.c RDMA/uverbs: Require all objects to have a driver destroy function 2018-11-22 11:57:32 -07:00
uverbs_std_types_dm.c RDMA/uverbs: Require all objects to have a driver destroy function 2018-11-22 11:57:32 -07:00
uverbs_std_types_flow_action.c RDMA/uverbs: Require all objects to have a driver destroy function 2018-11-22 11:57:32 -07:00
uverbs_std_types_mr.c RDMA/uverbs: Require all objects to have a driver destroy function 2018-11-22 11:57:32 -07:00
uverbs_uapi.c RDMA/uverbs: Require all objects to have a driver destroy function 2018-11-22 11:57:32 -07:00
verbs.c First merge window pull request 2018-10-26 07:38:19 -07:00