linux_dsm_epyc7002/drivers/infiniband/core
Yishai Hadas 03c40442a0 IB/uverbs: Fix reference counting usage of event files
Fix the reference counting usage to be handled in the event file
creation/destruction function, instead of being done by the caller.
This is done for both async/non-async event files.

Based on Jason Gunthorpe report at https://www.mail-archive.com/
linux-rdma@vger.kernel.org/msg24680.html:
"The existing code for this is broken, in ib_uverbs_get_context all
the error paths between ib_uverbs_alloc_event_file and the
kref_get(file->ref) are wrong - this will result in fput() which will
call ib_uverbs_event_close, which will try to do kref_put and
ib_unregister_event_handler - which are no longer paired."

Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Shachar Raindel <raindel@mellanox.com>
Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-08-30 18:12:39 -04:00
..
addr.c IB/core cleanup: Add const to args - agent_send_response 2015-06-02 09:33:13 -04:00
agent.c IB: Add rdma_cap_ib_switch helper and use where appropriate 2015-07-14 13:20:08 -04:00
agent.h IB/mad: Add final OPA MAD processing 2015-06-12 14:49:18 -04:00
cache.c IB/mlx4: Implement ib_device callbacks 2015-08-30 18:12:20 -04:00
cm_msgs.h IB/core: Fix unaligned accesses 2015-05-05 13:21:27 -04:00
cm.c IB/cm: Remove compare_data checks 2015-08-30 15:48:24 -04:00
cma.c IB/cma: Fix net_dev reference leak with failed requests 2015-08-30 18:08:28 -04:00
core_priv.h IB/core: Add RoCE GID table management 2015-08-30 18:08:50 -04:00
device.c IB/core: Remove needless bracketization 2015-08-30 18:12:21 -04:00
fmr_pool.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
iwcm.c RDMA/iwcm: Use a default listen backlog if needed 2014-08-05 07:33:24 -07:00
iwcm.h RDMA: iWARP Connection Manager. 2006-09-22 15:22:46 -07:00
iwpm_msg.c RDMA/core: Fixes for port mapper client registration 2015-07-14 13:20:10 -04:00
iwpm_util.c RDMA/core: Fixes for port mapper client registration 2015-07-14 13:20:10 -04:00
iwpm_util.h RDMA/core: Fixes for port mapper client registration 2015-07-14 13:20:10 -04:00
mad_priv.h IB/mad: Remove ib_get_dma_mr calls 2015-08-30 18:12:33 -04:00
mad_rmpp.c IB/mad: Add final OPA MAD processing 2015-06-12 14:49:18 -04:00
mad_rmpp.h RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
mad.c IB/mad: Remove ib_get_dma_mr calls 2015-08-30 18:12:33 -04:00
Makefile IB/core: Add RoCE GID table management 2015-08-30 18:08:50 -04:00
multicast.c IB/core: lock client data with lists_rwsem 2015-08-30 15:48:21 -04:00
netlink.c IB/core: Add rdma netlink helper functions 2015-08-30 18:12:25 -04:00
opa_smi.h IB: Add rdma_cap_ib_switch helper and use where appropriate 2015-07-14 13:20:08 -04:00
packer.c infiniband: add in export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:35 -04:00
roce_gid_mgmt.c IB/core: Add RoCE table bonding support 2015-08-30 18:12:20 -04:00
sa_query.c IB/sa: Route SA pathrecord query through netlink 2015-08-30 18:12:26 -04:00
sa.h IB: Remove garbage non-ASCII characters from comments 2007-07-09 16:17:32 -07:00
smi.c IB: Add rdma_cap_ib_switch helper and use where appropriate 2015-07-14 13:20:08 -04:00
smi.h IB: Add rdma_cap_ib_switch helper and use where appropriate 2015-07-14 13:20:08 -04:00
sysfs.c IB/core: Make ib_alloc_device init the kobject 2015-08-30 18:08:50 -04:00
ucm.c IB/cm: Remove compare_data checks 2015-08-30 15:48:24 -04:00
ucma.c IB/ucma: Fix theoretical user triggered use-after-free 2015-08-28 22:54:48 -04:00
ud_header.c infiniband: add in export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:35 -04:00
umem_odp.c IB/core: dma unmap optimizations 2015-05-05 09:18:02 -04:00
umem_rbtree.c IB/core: Implement support for MMU notifiers regarding on demand paging regions 2014-12-15 18:13:36 -08:00
umem.c IB/core: don't disallow registering region starting at 0x0 2015-04-15 16:05:02 -04:00
user_mad.c IB/core: lock client data with lists_rwsem 2015-08-30 15:48:21 -04:00
uverbs_cmd.c IB/uverbs: Fix reference counting usage of event files 2015-08-30 18:12:39 -04:00
uverbs_main.c IB/uverbs: Fix reference counting usage of event files 2015-08-30 18:12:39 -04:00
uverbs_marshall.c IB/core: When marshaling uverbs path, clear unused fields 2014-09-22 09:46:52 -07:00
uverbs.h IB/uverbs: Fix reference counting usage of event files 2015-08-30 18:12:39 -04:00
verbs.c IB/core: Make ib_dealloc_pd return void 2015-08-30 18:12:39 -04:00