kernel-ark/drivers/infiniband/core
Leon Romanovsky fe48aecb4d RDMA/uverbs: Don't fail in creation of multiple flows
The conversion from offsetof() calculations to sizeof()
wrongly behaved for missed exact size and in scenario with
more than one flow.

In such scenario we got "create flow failed, flow 10: 8 bytes
left from uverb cmd" error, which is wrong because the size of
kern_spec is exactly 8 bytes, and we were not supposed to fail.

Cc: <stable@vger.kernel.org> # 3.12
Fixes: 4fae7f1704 ("RDMA/uverbs: Fix slab-out-of-bounds in ib_uverbs_ex_create_flow")
Reported-by: Ran Rozenstein <ranro@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-07-03 14:08:00 -06:00
..
addr.c RDMA/rdma_cm: Delete rdma_addr_client 2018-04-17 19:42:50 -06:00
agent.c IB/core: Rename ib_destroy_ah to rdma_destroy_ah 2017-05-01 14:32:43 -04:00
agent.h
cache.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
cgroup.c IB/core: added support to use rdma cgroup controller 2017-01-10 11:14:27 -05:00
cm_msgs.h
cm.c 4.18 Merge window pull request 2018-06-07 13:04:07 -07:00
cma_configfs.c IB/cma: use strlcpy() instead of strncpy() 2018-01-15 15:33:21 -07:00
cma_priv.h RDMA/cma: Move rdma_cm_state to cma_priv.h 2018-03-29 13:54:21 -06:00
cma.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
core_priv.h RDMA/core: Remove indirection through ib_cache_setup() 2018-05-29 15:19:31 -06:00
cq.c RDMA/core: Reduce poll batch for direct cq polling 2018-03-06 20:08:39 -07:00
device.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
fmr_pool.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
iwcm.c RDMA/netlink: Fix general protection fault 2017-12-07 15:28:07 -05:00
iwcm.h iw_cm: free cm_id resources on the last deref 2016-08-02 13:15:18 -04:00
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 iwpm: crash fix for large connections test 2016-03-16 13:48:32 -04:00
mad_priv.h IB/mad: use CQ abstraction 2016-01-19 15:25:45 -05: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
mad.c RDMA/mad: Convert BUG_ONs to error flows 2018-06-01 11:16:24 -04:00
Makefile Verbs flow counters support 2018-06-04 08:48:11 -06:00
mr_pool.c IB/core: add a simple MR pool 2016-05-13 13:37:18 -04:00
multicast.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
netlink.c RDMA/netlink: Simplify code of autoload modules 2018-01-02 13:36:57 -07:00
nldev.c RDMA/NLDEV: remove mr iova attribute 2018-05-15 16:17:38 -06:00
opa_smi.h
packer.c IB/core: trivial prink cleanup. 2016-03-03 10:20:25 -05:00
rdma_core.c IB/uverbs: Tidy uverbs_uobject_add 2018-02-28 12:55:03 -07:00
rdma_core.h IB/core: Add new ioctl interface 2017-08-31 08:35:09 -04:00
restrack.c RDMA/restrack: Change SPDX tag to properly reflect license 2018-06-05 14:04:20 -06:00
roce_gid_mgmt.c IB/core: Remove duplicate declaration of gid_cache_wq 2018-05-24 09:39:25 -06:00
rw.c IB/core: remove redundant check on prot_sg_cnt 2017-10-10 10:49:45 -04:00
sa_query.c IB/cma: Resolve route only while receiving CM requests 2018-03-23 10:58:05 -06:00
sa.h
security.c IB/core: Use CONFIG_SECURITY_INFINIBAND to compile out security code 2018-05-01 11:16:36 -04:00
smi.c
smi.h
sysfs.c IB/core: Refactor GID modify code for RoCE 2018-04-03 21:33:50 -06:00
ucm.c RDMA: Use u64_to_user_ptr everywhere 2018-03-29 13:42:29 -06:00
ucma.c infiniband: fix a possible use-after-free bug 2018-06-04 09:37:03 -06:00
ud_header.c IB/core: trivial prink cleanup. 2016-03-03 10:20:25 -05:00
umem_odp.c treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
umem.c Merge branch 'mr_fix' into git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma for-next 2018-05-28 11:44:35 -06:00
user_mad.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
uverbs_cmd.c RDMA/uverbs: Don't fail in creation of multiple flows 2018-07-03 14:08:00 -06:00
uverbs_ioctl_merge.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
uverbs_ioctl.c IB/uverbs: Fix validating mandatory attributes 2018-04-27 13:53:41 -04:00
uverbs_main.c IB/uverbs: Fix ordering of ucontext check in ib_uverbs_write 2018-06-12 14:39:32 -06:00
uverbs_marshall.c IB/core: Convert OPA AH to IB for Extended LIDs only 2017-11-13 15:53:57 -05:00
uverbs_std_types_counters.c IB/uverbs: Add read counters support 2018-06-02 07:33:55 +03:00
uverbs_std_types_cq.c IB/uverbs: Add an ib_uobject getter to ioctl() infrastructure 2018-06-02 07:33:53 +03:00
uverbs_std_types_dm.c IB/uverbs: Add alloc/free dm uverbs ioctl support 2018-04-05 11:16:39 -06:00
uverbs_std_types_flow_action.c Verbs flow counters support 2018-06-04 08:48:11 -06:00
uverbs_std_types_mr.c IB/uverbs: Add device memory registration ioctl support 2018-04-05 11:16:39 -06:00
uverbs_std_types.c IB/uverbs: Add create/destroy counters support 2018-06-02 07:33:54 +03:00
uverbs.h IB/uverbs: Add support for flow counters 2018-06-02 07:33:56 +03:00
verbs.c RDMA/core: Save kernel caller name when creating CQ using ib_create_cq() 2018-06-18 11:32:58 -06:00