linux-hardened/drivers/infiniband/core
Matan Barak c66db31113 IB/uverbs: Safely extend existing attributes
Previously, we've used UVERBS_ATTR_SPEC_F_MIN_SZ for extending existing
attributes. The behavior of this flag was the kernel accepts anything
bigger than the minimum size it specified. This is unsafe, since in
order to safely extend an attribute, we need to make sure unknown size
is zeroed. Replacing UVERBS_ATTR_SPEC_F_MIN_SZ with
UVERBS_ATTR_SPEC_F_MIN_SZ_OR_ZERO, which essentially checks that the
unknown size is zero. In addition, attributes are now decorated with
UVERBS_ATTR_TYPE and UVERBS_ATTR_STRUCT, so we can provide the minimum
and known length.

Users of this flag needs to use copy_from_or_zero functions/macros.

Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-03-19 14:45:17 -06:00
..
addr.c IB/core: Remove rdma_resolve_ip_route() as exported symbol 2018-03-15 15:17:45 -06:00
agent.c IB/core: Rename ib_destroy_ah to rdma_destroy_ah 2017-05-01 14:32:43 -04:00
agent.h IB/mad: Add final OPA MAD processing 2015-06-12 14:49:18 -04:00
cache.c IB/core: Use rdma_is_port_valid() 2018-03-19 11:41:40 -06:00
cgroup.c IB/core: added support to use rdma cgroup controller 2017-01-10 11:14:27 -05:00
cm.c IB/cm: Introduce and use helper function to get cm_port from path 2018-03-15 15:17:49 -06:00
cm_msgs.h IB/core: Fix unaligned accesses 2015-05-05 13:21:27 -04:00
cma.c IB/cma: Use rdma_protocol_roce() and remove cma_protocol_roce_dev_port() 2018-03-15 14:40:38 -06:00
cma_configfs.c IB/cma: use strlcpy() instead of strncpy() 2018-01-15 15:33:21 -07:00
cma_priv.h RDMA/nldev: provide detailed CM_ID information 2018-03-08 15:03:03 -05:00
core_priv.h IB/core: Move rdma_addr_find_l2_eth_by_grh to core_priv.h 2018-03-15 15:33:39 -06:00
cq.c RDMA/core: Reduce poll batch for direct cq polling 2018-03-06 20:08:39 -07:00
device.c IB/{core, ipoib}: Simplify ib_find_gid() for unused ndev 2018-03-15 14:40:37 -06:00
fmr_pool.c infiniband: fix core/fmr_pool.c kernel-doc notation 2018-01-10 22:00:34 -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 RDMA/iwpm: Delete an error message for a failed memory allocation in iwpm_create_nlmsg() 2018-02-28 13:57:39 -07:00
iwpm_util.h iwpm: crash fix for large connections test 2016-03-16 13:48:32 -04:00
mad.c drivers: infiniband: remove duplicate includes 2017-12-22 09:39:35 -07: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
Makefile RDMA/restrack: Add general infrastructure to track RDMA resources 2018-01-29 20:21:39 -07:00
mr_pool.c IB/core: add a simple MR pool 2016-05-13 13:37:18 -04:00
multicast.c IB/core: Honor port_num while resolving GID for IB link layer 2018-03-15 14:40:37 -06:00
netlink.c RDMA/netlink: Simplify code of autoload modules 2018-01-02 13:36:57 -07:00
nldev.c RDMA/nldev: provide detailed PD information 2018-03-08 15:03:03 -05: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 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: Don't rely on uninitialized variable in restrack_add flow 2018-03-16 16:35:25 -06:00
roce_gid_mgmt.c {net, IB}/mlx5: Manage port association for multiport RoCE 2018-01-08 11:42:22 -07:00
rw.c IB/core: remove redundant check on prot_sg_cnt 2017-10-10 10:49:45 -04:00
sa.h
sa_query.c IB/core: Refactor ib_init_ah_attr_from_path() for RoCE 2018-03-15 15:17:49 -06:00
security.c Merge branch 'from-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git 2017-12-27 21:50:46 -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: Set speed string to SDR for invalid active rates 2018-03-19 11:39:47 -06:00
ucm.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
ucma.c Merge branch 'k.o/wip/dl-for-rc' into k.o/wip/dl-for-next 2018-03-14 19:28:58 -04:00
ud_header.c IB/core: trivial prink cleanup. 2016-03-03 10:20:25 -05:00
umem.c IB/umem: Fix use of npages/nmap fields 2017-12-18 15:37:06 -07:00
umem_odp.c RDMA/umem: Avoid partial declaration of non-static function 2017-11-10 13:02:12 -05:00
user_mad.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
uverbs.h IB/uverbs: Move to new headers and make naming consistent 2018-03-19 14:45:17 -06:00
uverbs_cmd.c IB/uverbs: Move to new headers and make naming consistent 2018-03-19 14:45:17 -06:00
uverbs_ioctl.c IB/uverbs: Safely extend existing attributes 2018-03-19 14:45:17 -06:00
uverbs_ioctl_merge.c IB/uverbs: Safely extend existing attributes 2018-03-19 14:45:17 -06:00
uverbs_main.c RDMA/uverbs: Reduce number of command header flags checks 2018-02-22 22:31:18 -05: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.c IB/uverbs: Safely extend existing attributes 2018-03-19 14:45:17 -06:00
verbs.c drivers/infiniband/core/verbs.c: fix build with gcc-4.4.4 2018-03-14 18:14:08 -04:00